Source:
private void createProject(IFeatureModel model, IProgressMonitor monitor) throws CoreException { String name = model.getFeature().getId(); IFeaturePlugin[] plugins = model.getFeature().getPlugins(); for (int i = 0; i < plugins.length; i++) { if (name.equals(plugins[i].getId())) { name += "-feature"; break; } } SubMonitor subMonitor = SubMonitor.convert(monitor, NLS.bind(PDEUIMessages.FeatureImportWizard_operation_creating2, name), 9); IProject project = fRoot.getProject(name); if (project.exists() || new File(project.getParent().getLocation().toFile(), name).exists()) { if (queryReplace(project)) { if (!project.exists()) project.create(subMonitor.newChild(1)); project.delete(true, true, subMonitor.newChild(1)); try { RepositoryProvider.unmap(project); } catch (TeamException e) { } } else { return; } } else { subMonitor.worked(1); } IProjectDescription description = PDEPlugin.getWorkspace().newProjectDescription(name); if (fTargetPath != null) description.setLocation(fTargetPath.append(name)); project.create(description, subMonitor.newChild(1)); if (!project.isOpen()) { project.open(null); } File featureDir = new File(model.getInstallLocation()); importContent(featureDir, project.getFullPath(), FileSystemStructureProvider.INSTANCE, null, subMonitor.newChild(1)); IFolder folder = project.getFolder("META-INF"); if (folder.exists()) { folder.delete(true, null); } if (fBinary) { project.setPersistentProperty(PDECore.EXTERNAL_PROJECT_PROPERTY, PDECore.BINARY_PROJECT_VALUE); } createBuildProperties(project); setProjectNatures(project, model, subMonitor); if (project.hasNature(JavaCore.NATURE_ID)) setClasspath(project, model, subMonitor); }

Target:
private void createProject(IFeatureModel model, IProgressMonitor monitor) throws CoreException { String name = model.getFeature().getId(); IFeaturePlugin[] plugins = model.getFeature().getPlugins(); for (int i = 0; i < plugins.length; i++) { if (name.equals(plugins[i].getId())) { name += "-feature"; break; } } SubMonitor subMonitor = SubMonitor.convert(monitor, NLS.bind(PDEUIMessages.FeatureImportWizard_operation_creating2, name), 9); IProject project = fRoot.getProject(name); if (project.exists() || new File(project.getParent().getLocation().toFile(), name).exists()) { if (queryReplace(project)) { if (!project.exists()) { project.create(subMonitor.newChild(1)); } project.delete(true, true, subMonitor.newChild(1)); try { RepositoryProvider.unmap(project); } catch (TeamException e) { } } else { return; } } subMonitor.setWorkRemaining(7); IProjectDescription description = PDEPlugin.getWorkspace().newProjectDescription(name); if (fTargetPath != null) description.setLocation(fTargetPath.append(name)); project.create(description, subMonitor.newChild(1)); if (!project.isOpen()) { project.open(null); } File featureDir = new File(model.getInstallLocation()); importContent(featureDir, project.getFullPath(), FileSystemStructureProvider.INSTANCE, null, subMonitor.newChild(1)); IFolder folder = project.getFolder("META-INF"); if (folder.exists()) { folder.delete(true, null); } if (fBinary) { project.setPersistentProperty(PDECore.EXTERNAL_PROJECT_PROPERTY, PDECore.BINARY_PROJECT_VALUE); } createBuildProperties(project); setProjectNatures(project, model, subMonitor.newChild(1)); if (project.hasNature(JavaCore.NATURE_ID)) { setClasspath(project, model, subMonitor.newChild(4)); } }