Program: 96331
Project: 96331
Buggy source:
/** 
 * Creates a new project, stops a started AUT, closes all opened editors.
 * @param newProjectName the name for this project
 * @param monitor The progress monitor for this potentially long-running operation.
 * @throws InterruptedException if the operation is canceled.
 */
private void createNewProject(final String newProjectName,IProgressMonitor monitor) throws InterruptedException {
  Plugin.closeAllOpenedJubulaEditors();
  Plugin.getDisplay().syncExec(new Runnable(){
    public void run(){
      Plugin.setProjectNameInTitlebar(newProjectName,m_newProject.getMajorProjectVersion(),m_newProject.getMinorProjectVersion());
    }
  }
);
  m_newProject.setIsReusable(m_projectSettingWizardPage.isProjectReusable());
  m_newProject.setIsProtected(m_projectSettingWizardPage.isProjectProtected());
  if (m_autMain.getName() == null || StringConstants.EMPTY.equals(m_autMain.getName())) {
    m_newProject.removeAUTMain(m_autMain);
  }
  if (m_autConfig.getName() == null || StringConstants.EMPTY.equals(m_autConfig.getName())) {
    m_autMain.removeAutConfig(m_autConfig);
  }
  ParamNameBPDecorator paramNameMapper=new ParamNameBPDecorator(ParamNameBP.getInstance());
  final IWritableComponentNameMapper compNamesMapper=new ProjectComponentNameMapper(new ComponentNamesDecorator(null),m_newProject);
  List<INameMapper> mapperList=new ArrayList<INameMapper>();
  List<IWritableComponentNameMapper> compNameCacheList=new ArrayList<IWritableComponentNameMapper>();
  addUnboundModules(m_newProject);
  mapperList.add(paramNameMapper);
  compNameCacheList.add(compNamesMapper);
  try {
    GeneralStorage.getInstance().reset();
    ProjectPM.attachProjectToROSession(m_newProject,newProjectName,mapperList,compNameCacheList,monitor);
  }
 catch (  PMSaveException e) {
    PMExceptionHandler.handlePMExceptionForMasterSession(new PMSaveException(e.getMessage(),MessageIDs.E_CREATE_NEW_PROJECT_FAILED));
  }
catch (  PMException e) {
    PMExceptionHandler.handlePMExceptionForMasterSession(e);
  }
catch (  ProjectDeletedException e) {
    PMExceptionHandler.handleGDProjectDeletedException();
  }
catch (  InterruptedException ie) {
    throw ie;
  }
}

Fixed version (ground truth):
/** 
 * Creates a new project, stops a started AUT, closes all opened editors.
 * @param newProjectName the name for this project
 * @param monitor The progress monitor for this potentially long-running operation.
 * @throws InterruptedException if the operation is canceled.
 */
private void createNewProject(final String newProjectName,IProgressMonitor monitor) throws InterruptedException {
  Plugin.closeAllOpenedJubulaEditors();
  m_newProject.setIsReusable(m_projectSettingWizardPage.isProjectReusable());
  m_newProject.setIsProtected(m_projectSettingWizardPage.isProjectProtected());
  if (m_autMain.getName() == null || StringConstants.EMPTY.equals(m_autMain.getName())) {
    m_newProject.removeAUTMain(m_autMain);
  }
  if (m_autConfig.getName() == null || StringConstants.EMPTY.equals(m_autConfig.getName())) {
    m_autMain.removeAutConfig(m_autConfig);
  }
  ParamNameBPDecorator paramNameMapper=new ParamNameBPDecorator(ParamNameBP.getInstance());
  final IWritableComponentNameMapper compNamesMapper=new ProjectComponentNameMapper(new ComponentNamesDecorator(null),m_newProject);
  List<INameMapper> mapperList=new ArrayList<INameMapper>();
  List<IWritableComponentNameMapper> compNameCacheList=new ArrayList<IWritableComponentNameMapper>();
  addUnboundModules(m_newProject);
  mapperList.add(paramNameMapper);
  compNameCacheList.add(compNamesMapper);
  try {
    GeneralStorage.getInstance().reset();
    ProjectPM.attachProjectToROSession(m_newProject,newProjectName,mapperList,compNameCacheList,monitor);
  }
 catch (  PMSaveException e) {
    PMExceptionHandler.handlePMExceptionForMasterSession(new PMSaveException(e.getMessage(),MessageIDs.E_CREATE_NEW_PROJECT_FAILED));
  }
catch (  PMException e) {
    PMExceptionHandler.handlePMExceptionForMasterSession(e);
  }
catch (  ProjectDeletedException e) {
    PMExceptionHandler.handleGDProjectDeletedException();
  }
catch (  InterruptedException ie) {
    throw ie;
  }
}