@Override
public ArtifactClassLoader create(ApplicationDescriptor descriptor)
{
List<ClassLoader> pluginClassLoaders = pluginClassLoaderManager.getPluginClassLoaders();
ArtifactClassLoader appClassLoader = applicationClassLoaderFactory.create(descriptor);
if (!pluginClassLoaders.isEmpty())
{
List<ClassLoader> classLoaders = new LinkedList<ClassLoader>();
classLoaders.add(appClassLoader.getClassLoader());
classLoaders.addAll(pluginClassLoaders);
appClassLoader = new CompositeApplicationClassLoader(descriptor.getAppName(), classLoaders);
}