Program: 129616
Project: 129616
Buggy source:
/** 
 * This method determine if the 'Finish' button is enable This method is called when 'Finish' button is pressed in the wizard. We will create an operation and run it using wizard as execution context.
 */
@Override public boolean performFinish(){
  if (isSinglePageOnly) {
    return true;
  }
  boolean formIsPerformed;
  if (genericSchemaWizardPage1 == null) {
    formIsPerformed=genericSchemaWizardPage0.isPageComplete();
  }
 else {
    formIsPerformed=genericSchemaWizardPage1.isPageComplete();
  }
  if (formIsPerformed) {
    IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
    try {
      if (creation) {
        String nextId=factory.getNextId();
        connectionProperty.setId(nextId);
        connectionProperty.setLabel(connectionProperty.getDisplayName());
        factory.create(connectionItem,genericSchemaWizardPage0.getDestinationPath());
      }
 else {
        connectionProperty.setLabel(connectionProperty.getDisplayName());
        RepositoryUpdateManager.updateMultiSchema(connectionItem,oldMetadataTable,oldTableMap);
        factory.save(connectionItem);
        boolean isModified=genericSchemaWizardPage0.isNameModifiedByUser();
        if (isModified) {
          CoreRuntimePlugin.getInstance().getDesignerCoreService().refreshComponentView(connectionItem);
        }
        closeLockStrategy();
      }
    }
 catch (    PersistenceException e) {
      String detailError=e.toString();
      new ErrorDialogWidthDetailArea(getShell(),PID,Messages.getString("String_Node_Str"),detailError);
      log.error(Messages.getString("String_Node_Str") + "String_Node_Str" + detailError);
      return false;
    }
    return true;
  }
 else {
    return false;
  }
}

Fixed version (ground truth):
/** 
 * This method determine if the 'Finish' button is enable This method is called when 'Finish' button is pressed in the wizard. We will create an operation and run it using wizard as execution context.
 */
@Override public boolean performFinish(){
  if (isSinglePageOnly) {
    return true;
  }
  boolean formIsPerformed;
  if (genericSchemaWizardPage1 == null) {
    formIsPerformed=genericSchemaWizardPage0.isPageComplete();
  }
 else {
    formIsPerformed=genericSchemaWizardPage1.isPageComplete();
  }
  if (formIsPerformed) {
    IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
    try {
      if (creation) {
        String nextId=factory.getNextId();
        connectionProperty.setId(nextId);
        connectionProperty.setLabel(connectionProperty.getDisplayName());
        factory.create(connectionItem,genericSchemaWizardPage0.getDestinationPath());
      }
 else {
        connectionProperty.setLabel(connectionProperty.getDisplayName());
        RepositoryUpdateManager.updateMultiSchema(connectionItem,oldMetadataTable,oldTableMap);
        updateConnectionItem();
        boolean isModified=genericSchemaWizardPage0.isNameModifiedByUser();
        if (isModified) {
          CoreRuntimePlugin.getInstance().getDesignerCoreService().refreshComponentView(connectionItem);
        }
      }
    }
 catch (    Exception e) {
      String detailError=e.toString();
      new ErrorDialogWidthDetailArea(getShell(),PID,Messages.getString("String_Node_Str"),detailError);
      log.error(Messages.getString("String_Node_Str") + "String_Node_Str" + detailError);
      return false;
    }
    return true;
  }
 else {
    return false;
  }
}