protected void copyArtifactAndDependencies(ProcessConfig config, String id, File installDir, InstallOptions parameters, File libDir, Map<String, Pair<File, File>> copyFiles) throws Exception {
URL artifactUrl = parameters.getUrl();
// now lets download the executable jar as main.jar and all its dependencies...
Filter<Dependency> optionalFilter = DependencyFilters.parseExcludeOptionalFilter(join(Arrays.asList(parameters.getOptionalDependencyPatterns()), " "));
Filter<Dependency> excludeFilter = DependencyFilters.parseExcludeFilter(join(Arrays.asList(parameters.getExcludeDependencyFilterPatterns()), " "), optionalFilter);
DependencyTreeResult result = mavenResolver.collectDependenciesForJar(getArtifactFile(artifactUrl),
parameters.isOffline(),
excludeFilter);
DependencyNode mainJarDependency = result.getRootNode();
Artifact mainPomArtifact = mainJarDependency.getDependency().getArtifact();
File mainJar = mavenResolver.resolveArtifact(parameters.isOffline(),
mainPomArtifact.getGroupId(), mainPomArtifact.getArtifactId(),
mainPomArtifact.getVersion(), mainPomArtifact.getClassifier(), "jar").