private PluginManager createPluginManager(Application application) { File pluginsDir = getPluginsDir(application); log.debug("Plugins directory is {} ", pluginsDir); // TODO check more locations for PluginManagerFactory similar with getPluginsDir(); // now I checked only Application if it implements PluginManagerFactory ?! PluginManager pluginManager; if (application instanceof PluginManagerFactory) { log.debug("Create custom plugin manager"); pluginManager = ((PluginManagerFactory) application).createPluginManager(pluginsDir.toPath()); } else { log.debug("Create default plugin manager"); pluginManager = pluginsDir != null ? new DefaultPluginManager(pluginsDir.toPath()) : new DefaultPluginManager(); } return pluginManager; }