URI location = new URI(ivyConfig.getLocation());
Transport transport = getTransport(location.getScheme());
Repository repository = new IvyRepository(location, ivyConfig.getIvyPattern(), ivyConfig.getArtifactPattern());
CacheIvyRepository cacheIvyRepository = new CacheIvyRepository(new File(ivyConfig.getCacheDir()), repository, transport);
final DependencyResolver resolver = new DependencyResolverImpl(cacheIvyRepository, transport);
final Map<String, Collection<Dependency>> dependencyMap = (Map<String, Collection<Dependency>> )((ScriptableObject) thisObj).getAssociatedValue(DEPENDENCY_KEY);
resolver.begin();
Collection<File> resolvedFiles = new HashSet<File>();
for (String configuration : toStringArray(args)) {
final Collection<Dependency> dependencies = dependencyMap.get(configuration);
resolver.resolve(new File(ivyConfig.getResolveDir()), configuration, dependencies);
}
resolvedFiles.addAll(resolver.end());
return RhinoUtils.fromCollection(context, thisObj, CollectionUtils.transform(resolvedFiles, FileFunctions.path()));
}