public ScriptHandlerInternal create(ScriptSource scriptSource, ClassLoader parentClassLoader,
DomainObjectContext context) {
RepositoryHandler repositoryHandler = repositoryHandlerFactory.create();
ConfigurationContainer configurationContainer = configurationContainerFactory.createConfigurationContainer(
repositoryHandler, dependencyMetaDataProvider, context);
DependencyHandler dependencyHandler = new DefaultDependencyHandler(configurationContainer, dependencyFactory,
projectFinder);
Collection<Object> key = Arrays.asList(scriptSource.getClassName(), parentClassLoader);
ObservableUrlClassLoader classLoader = classLoaderCache.get(key);
if (classLoader == null) {
classLoader = new ObservableUrlClassLoader(parentClassLoader);