Program: 96329
Project: 96329
Buggy source:
/** 
 * {@inheritDoc}
 */
public boolean performOk(){
  try {
    if (!m_oldProjectName.equals(m_newProjectName)) {
      if (ProjectPM.doesProjectNameExist(m_newProjectName)) {
        Utils.createMessageDialog(MessageIDs.E_PROJECTNAME_ALREADY_EXISTS,new Object[]{m_newProjectName},null);
        return false;
      }
    }
    if (m_isReusableCheckbox != null) {
      getProject().setIsReusable(m_isReusableCheckbox.getSelection());
    }
    if (m_isProtectedCheckbox != null) {
      getProject().setIsProtected(m_isProtectedCheckbox.getSelection());
    }
    storeAutoTestResultCleanup();
    if (!m_oldProjectName.equals(m_newProjectName)) {
      ProjectNameBP.getInstance().setName(getEditSupport().getSession(),getProject().getGuid(),m_newProjectName);
    }
    fireOkPressed();
    Set<IReusedProjectPO> origReused=((IProjectPropertiesPO)getEditSupport().getOriginal()).getUsedProjects();
    Set<IReusedProjectPO> newReused=new HashSet<IReusedProjectPO>(((IProjectPropertiesPO)getEditSupport().getWorkVersion()).getUsedProjects());
    newReused.removeAll(origReused);
    getEditSupport().saveWorkVersion();
    refreshAutMainList();
    DataEventDispatcher.getInstance().fireProjectPropertiesModified();
    for (    IReusedProjectPO reused : newReused) {
      try {
        IProjectPO reusedProject=ProjectPM.loadReusedProject(reused);
        ComponentNamesBP.getInstance().refreshNames(reusedProject.getId());
      }
 catch (      JBException e) {
        log.error(Messages.ErrorWhileRetrievingReusedProjectInformation,e);
      }
    }
    DataEventDispatcher.getInstance().fireDataChangedListener(PoMaker.createReusedProjectPO("String_Node_Str",1,1),DataState.ReuseChanged,UpdateState.notInEditor);
    DataEventDispatcher.getInstance().fireDataChangedListener(GeneralStorage.getInstance().getProject(),DataState.Renamed,UpdateState.notInEditor);
    IProjectPO project=getProject();
    Plugin.setProjectNameInTitlebar(project.getName(),project.getMajorProjectVersion(),project.getMinorProjectVersion());
  }
 catch (  PMException e) {
    Utils.createMessageDialog(e,null,null);
  }
catch (  ProjectDeletedException e) {
    PMExceptionHandler.handleGDProjectDeletedException();
  }
catch (  IncompatibleTypeException ite) {
    Utils.createMessageDialog(ite,ite.getErrorMessageParams(),null);
  }
  return true;
}

Fixed version (ground truth):
/** 
 * {@inheritDoc}
 */
public boolean performOk(){
  try {
    if (!m_oldProjectName.equals(m_newProjectName)) {
      if (ProjectPM.doesProjectNameExist(m_newProjectName)) {
        Utils.createMessageDialog(MessageIDs.E_PROJECTNAME_ALREADY_EXISTS,new Object[]{m_newProjectName},null);
        return false;
      }
    }
    if (m_isReusableCheckbox != null) {
      getProject().setIsReusable(m_isReusableCheckbox.getSelection());
    }
    if (m_isProtectedCheckbox != null) {
      getProject().setIsProtected(m_isProtectedCheckbox.getSelection());
    }
    storeAutoTestResultCleanup();
    if (!m_oldProjectName.equals(m_newProjectName)) {
      ProjectNameBP.getInstance().setName(getEditSupport().getSession(),getProject().getGuid(),m_newProjectName);
    }
    fireOkPressed();
    Set<IReusedProjectPO> origReused=((IProjectPropertiesPO)getEditSupport().getOriginal()).getUsedProjects();
    Set<IReusedProjectPO> newReused=new HashSet<IReusedProjectPO>(((IProjectPropertiesPO)getEditSupport().getWorkVersion()).getUsedProjects());
    newReused.removeAll(origReused);
    getEditSupport().saveWorkVersion();
    refreshAutMainList();
    DataEventDispatcher.getInstance().fireProjectPropertiesModified();
    for (    IReusedProjectPO reused : newReused) {
      try {
        IProjectPO reusedProject=ProjectPM.loadReusedProject(reused);
        ComponentNamesBP.getInstance().refreshNames(reusedProject.getId());
      }
 catch (      JBException e) {
        log.error(Messages.ErrorWhileRetrievingReusedProjectInformation,e);
      }
    }
    DataEventDispatcher.getInstance().fireDataChangedListener(PoMaker.createReusedProjectPO("String_Node_Str",1,1),DataState.ReuseChanged,UpdateState.notInEditor);
    DataEventDispatcher.getInstance().fireDataChangedListener(GeneralStorage.getInstance().getProject(),DataState.Renamed,UpdateState.notInEditor);
  }
 catch (  PMException e) {
    Utils.createMessageDialog(e,null,null);
  }
catch (  ProjectDeletedException e) {
    PMExceptionHandler.handleGDProjectDeletedException();
  }
catch (  IncompatibleTypeException ite) {
    Utils.createMessageDialog(ite,ite.getErrorMessageParams(),null);
  }
  return true;
}