@Override
    public List<Customizer> getCustomizers(final String scriptEngineName) {
        final List<Customizer> pluginCustomizers = plugins.stream().flatMap(plugin -> {
            final Optional<Customizer[]> customizers = plugin.getCustomizers(scriptEngineName);
            return Stream.of(customizers.orElse(new Customizer[0]));
        }).collect(Collectors.toList());

        return pluginCustomizers;
    }
This constructor loads the implementations of {@link GremlinScriptEngineFactory} visible to the given
{@code ClassLoader} using the {@code ServiceLoader} mechanism. If loader is <code>null</code>, the script
engine factories that are bundled with the platform and that are in the usual extension directories
(installed extensions) are loaded.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/jsr223/DefaultGremlinScriptEngineManager.java