Program: 119499
Project: 119499
Buggy source:
/** 
 * @see org.eclipse.jface.wizard.Wizard#performFinish()
 */
@Override public boolean performFinish(){
  if (getContainer().getCurrentPage().equals(manyProjectsPage)) {
    return manyProjectsPage.createProjects();
  }
 else {
    name=mainPage.getName().trim().replace(' ','_');
    final String technicalName=mainPage.getTechnicalName();
    final String sourcePath=mainPage.getSourcePath();
    final boolean isArchive=mainPage.isArchive();
    updateExternalLibPath();
    final Shell shell=getShell();
    ProgressDialog progressDialog=new ProgressDialog(shell){
      private IProgressMonitor monitorWrap;
      @Override public void run(      IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
        monitorWrap=SubMonitor.convert(monitor);
        try {
          if (!isArchive) {
            ImportProjectsUtilities.importProjectAs(shell,name,technicalName,sourcePath,monitorWrap);
          }
 else {
            ImportProjectsUtilities.importArchiveProjectAs(shell,name,technicalName,sourcePath,monitorWrap);
          }
        }
 catch (        IOException e) {
          throw new InvocationTargetException(e);
        }
catch (        TarException e) {
          throw new InvocationTargetException(e);
        }
        monitorWrap.done();
        MessageDialog.openInformation(shell,Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
      }
    }
;
    try {
      progressDialog.executeProcess();
    }
 catch (    InvocationTargetException e) {
      MessageBoxExceptionHandler.process(e.getTargetException(),shell);
      return false;
    }
catch (    InterruptedException e) {
      IProject[] projects=org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getProjects();
      for (int i=0; i < projects.length; i++) {
        if (projects[i].getName().equalsIgnoreCase(name)) {
          try {
            projects[i].delete(true,true,null);
          }
 catch (          CoreException ee) {
            ExceptionHandler.process(ee);
          }
        }
      }
      return false;
    }
    return true;
  }
}

Fixed version (ground truth):
/** 
 * @see org.eclipse.jface.wizard.Wizard#performFinish()
 */
@Override public boolean performFinish(){
  if (getContainer().getCurrentPage().equals(manyProjectsPage)) {
    return manyProjectsPage.createProjects();
  }
 else {
    name=mainPage.getName().trim().replace(' ','_');
    final String technicalName=mainPage.getTechnicalName();
    final String sourcePath=mainPage.getSourcePath();
    final boolean isArchive=mainPage.isArchive();
    updateExternalLibPath();
    final Shell shell=getShell();
    ProgressDialog progressDialog=new ProgressDialog(shell){
      private IProgressMonitor monitorWrap;
      @Override public void run(      IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
        monitorWrap=new EventLoopProgressMonitor(monitor);
        try {
          if (!isArchive) {
            ImportProjectsUtilities.importProjectAs(shell,name,technicalName,sourcePath,monitorWrap);
          }
 else {
            ImportProjectsUtilities.importArchiveProjectAs(shell,name,technicalName,sourcePath,monitorWrap);
          }
        }
 catch (        IOException e) {
          throw new InvocationTargetException(e);
        }
catch (        TarException e) {
          throw new InvocationTargetException(e);
        }
        monitorWrap.done();
        MessageDialog.openInformation(shell,Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"));
      }
    }
;
    try {
      progressDialog.executeProcess();
    }
 catch (    InvocationTargetException e) {
      MessageBoxExceptionHandler.process(e.getTargetException(),shell);
      return false;
    }
catch (    InterruptedException e) {
      IProject[] projects=org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getProjects();
      for (int i=0; i < projects.length; i++) {
        if (projects[i].getName().equalsIgnoreCase(name)) {
          try {
            projects[i].delete(true,true,null);
          }
 catch (          CoreException ee) {
            ExceptionHandler.process(ee);
          }
        }
      }
      return false;
    }
    return true;
  }
}