Program: 58512
Project: 58512
Buggy source:
@Override public boolean performFinish(){
  if (((ChooseProjectTypePage)getPage(ChooseProjectTypePage.PAGE_NAME)).isPageComplete()) {
    ChooseProjectTypePage page=(ChooseProjectTypePage)getPage(ChooseProjectTypePage.PAGE_NAME);
    PreferenceStore prefStore=GeneralManager.get().getPreferenceStore();
    EApplicationMode previousApplicationMode=EApplicationMode.valueOf(prefStore.getString(PreferenceConstants.LAST_CHOSEN_APPLICATION_MODE));
    if (page.getApplicationMode() != previousApplicationMode)     Application.bDeleteRestoredWorkbenchState=true;
    prefStore.setValue(PreferenceConstants.LAST_CHOSEN_ORGANISM,page.getOrganism().name());
    IUseCase useCase;
    EApplicationMode appMode=page.getApplicationMode();
    if (appMode == EApplicationMode.SAMPLE_PROJECT) {
      GeneralManager.get().getLogger().log(new Status(IStatus.INFO,Activator.PLUGIN_ID,"String_Node_Str"));
      ProjectLoader loader=new ProjectLoader();
      Application.initData=loader.load(SAMPLE_PROJECT_LOCATION);
      useCase=Application.initData.getUseCase();
      Application.startViews.clear();
      Application.initializedStartViews=Application.initData.getViewIDs();
      Application.applicationMode=EApplicationMode.LOAD_PROJECT;
      Application.bDeleteRestoredWorkbenchState=true;
    }
 else     if (page.getApplicationMode() == EApplicationMode.GENE_EXPRESSION_NEW_DATA || page.getApplicationMode() == EApplicationMode.GENE_EXPRESSION_SAMPLE_DATA) {
      Application.dataDomain=EDataDomain.GENETIC_DATA;
      useCase=new GeneticUseCase();
      ((GeneticUseCase)useCase).setOrganism(page.getOrganism());
      Application.applicationMode=page.getApplicationMode();
      String sNewPathwayDataSources="String_Node_Str";
      if (page.isKEGGPathwayDataLoadingRequested())       sNewPathwayDataSources+=EPathwayDatabaseType.KEGG.name() + "String_Node_Str";
      if (page.isBioCartaPathwayLoadingRequested())       sNewPathwayDataSources+=EPathwayDatabaseType.BIOCARTA.name() + "String_Node_Str";
      if (sNewPathwayDataSources != prefStore.getString(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES))       Application.bDeleteRestoredWorkbenchState=true;
      prefStore.setValue(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES,sNewPathwayDataSources);
    }
 else     if (page.getApplicationMode() == EApplicationMode.UNSPECIFIED_NEW_DATA) {
      useCase=new UnspecifiedUseCase();
      Application.dataDomain=EDataDomain.UNSPECIFIED;
      Application.applicationMode=EApplicationMode.UNSPECIFIED_NEW_DATA;
    }
 else     if (page.getApplicationMode() == EApplicationMode.LOAD_PROJECT) {
      GeneralManager.get().getLogger().log(new Status(IStatus.INFO,Activator.PLUGIN_ID,"String_Node_Str"));
      ProjectLoader loader=new ProjectLoader();
      if (page.getProjectLoadType() == ChooseProjectTypePage.EProjectLoadType.RECENT) {
        Application.initData=loader.loadRecent();
      }
 else       if (page.getProjectLoadType() == ChooseProjectTypePage.EProjectLoadType.SPECIFIED) {
        Application.initData=loader.load(page.getProjectFileName());
      }
 else {
        throw new IllegalArgumentException("String_Node_Str");
      }
      useCase=Application.initData.getUseCase();
      Application.startViews.clear();
      Application.initializedStartViews=Application.initData.getViewIDs();
      Application.applicationMode=EApplicationMode.LOAD_PROJECT;
      Application.bDeleteRestoredWorkbenchState=true;
    }
 else     if (page.getApplicationMode() == EApplicationMode.COLLABORATION_CLIENT) {
      StandardGroupwareManager groupwareManager=new StandardGroupwareManager();
      groupwareManager.setNetworkName(page.getNetworkName());
      groupwareManager.setServerAddress(page.getNetworkAddress());
      groupwareManager.startClient();
      Application.initData=groupwareManager.getInitData();
      useCase=Application.initData.getUseCase();
      Application.applicationMode=EApplicationMode.COLLABORATION_CLIENT;
    }
 else {
      throw new IllegalStateException("String_Node_Str");
    }
    prefStore.setValue(PreferenceConstants.LAST_CHOSEN_APPLICATION_MODE,Application.applicationMode.name());
    try {
      prefStore.save();
    }
 catch (    IOException e) {
      throw new IllegalStateException("String_Node_Str");
    }
    GeneralManager.get().addUseCase(useCase);
    return true;
  }
  return false;
}

Fixed version (ground truth):
@Override public boolean performFinish(){
  if (((ChooseProjectTypePage)getPage(ChooseProjectTypePage.PAGE_NAME)).isPageComplete()) {
    ChooseProjectTypePage page=(ChooseProjectTypePage)getPage(ChooseProjectTypePage.PAGE_NAME);
    PreferenceStore prefStore=GeneralManager.get().getPreferenceStore();
    EApplicationMode previousApplicationMode=EApplicationMode.valueOf(prefStore.getString(PreferenceConstants.LAST_CHOSEN_APPLICATION_MODE));
    if (page.getApplicationMode() != previousApplicationMode)     Application.bDeleteRestoredWorkbenchState=true;
    prefStore.setValue(PreferenceConstants.LAST_CHOSEN_ORGANISM,page.getOrganism().name());
    IUseCase useCase;
    EApplicationMode appMode=page.getApplicationMode();
    if (appMode == EApplicationMode.SAMPLE_PROJECT) {
      GeneralManager.get().getLogger().log(new Status(IStatus.INFO,Activator.PLUGIN_ID,"String_Node_Str"));
      ProjectLoader loader=new ProjectLoader();
      Application.initData=loader.load(SAMPLE_PROJECT_LOCATION);
      useCase=Application.initData.getUseCase();
      Application.startViews.clear();
      Application.initializedStartViews=Application.initData.getViewIDs();
      Application.applicationMode=EApplicationMode.SAMPLE_PROJECT;
      Application.bDeleteRestoredWorkbenchState=true;
    }
 else     if (appMode == EApplicationMode.GENE_EXPRESSION_SAMPLE_DATA) {
      Application.dataDomain=EDataDomain.GENETIC_DATA;
      useCase=new GeneticUseCase();
      ((GeneticUseCase)useCase).setOrganism(EOrganism.HOMO_SAPIENS);
      Application.applicationMode=appMode;
      String sNewPathwayDataSources=EPathwayDatabaseType.KEGG.name() + "String_Node_Str" + EPathwayDatabaseType.BIOCARTA.name()+ "String_Node_Str";
      if (sNewPathwayDataSources != prefStore.getString(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES))       Application.bDeleteRestoredWorkbenchState=true;
      prefStore.setValue(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES,sNewPathwayDataSources);
    }
 else     if (appMode == EApplicationMode.GENE_EXPRESSION_NEW_DATA) {
      Application.dataDomain=EDataDomain.GENETIC_DATA;
      useCase=new GeneticUseCase();
      ((GeneticUseCase)useCase).setOrganism(page.getOrganism());
      Application.applicationMode=appMode;
      String sNewPathwayDataSources="String_Node_Str";
      if (page.isKEGGPathwayDataLoadingRequested())       sNewPathwayDataSources+=EPathwayDatabaseType.KEGG.name() + "String_Node_Str";
      if (page.isBioCartaPathwayLoadingRequested())       sNewPathwayDataSources+=EPathwayDatabaseType.BIOCARTA.name() + "String_Node_Str";
      if (sNewPathwayDataSources != prefStore.getString(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES))       Application.bDeleteRestoredWorkbenchState=true;
      prefStore.setValue(PreferenceConstants.LAST_CHOSEN_PATHWAY_DATA_SOURCES,sNewPathwayDataSources);
    }
 else     if (appMode == EApplicationMode.UNSPECIFIED_NEW_DATA) {
      useCase=new UnspecifiedUseCase();
      Application.dataDomain=EDataDomain.UNSPECIFIED;
      Application.applicationMode=EApplicationMode.UNSPECIFIED_NEW_DATA;
    }
 else     if (appMode == EApplicationMode.LOAD_PROJECT) {
      GeneralManager.get().getLogger().log(new Status(IStatus.INFO,Activator.PLUGIN_ID,"String_Node_Str"));
      ProjectLoader loader=new ProjectLoader();
      if (page.getProjectLoadType() == ChooseProjectTypePage.EProjectLoadType.RECENT) {
        Application.initData=loader.loadRecent();
      }
 else       if (page.getProjectLoadType() == ChooseProjectTypePage.EProjectLoadType.SPECIFIED) {
        Application.initData=loader.load(page.getProjectFileName());
      }
 else {
        throw new IllegalArgumentException("String_Node_Str");
      }
      useCase=Application.initData.getUseCase();
      Application.startViews.clear();
      Application.initializedStartViews=Application.initData.getViewIDs();
      Application.applicationMode=EApplicationMode.LOAD_PROJECT;
      Application.bDeleteRestoredWorkbenchState=true;
    }
 else     if (appMode == EApplicationMode.COLLABORATION_CLIENT) {
      StandardGroupwareManager groupwareManager=new StandardGroupwareManager();
      groupwareManager.setNetworkName(page.getNetworkName());
      groupwareManager.setServerAddress(page.getNetworkAddress());
      groupwareManager.startClient();
      Application.initData=groupwareManager.getInitData();
      useCase=Application.initData.getUseCase();
      Application.applicationMode=EApplicationMode.COLLABORATION_CLIENT;
    }
 else {
      throw new IllegalStateException("String_Node_Str");
    }
    prefStore.setValue(PreferenceConstants.LAST_CHOSEN_APPLICATION_MODE,Application.applicationMode.name());
    try {
      prefStore.save();
    }
 catch (    IOException e) {
      throw new IllegalStateException("String_Node_Str");
    }
    GeneralManager.get().addUseCase(useCase);
    return true;
  }
  return false;
}