Program: 129607
Project: 129607
Buggy source:
@Override public boolean performFinish(){
  IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
  ITDQRepositoryService tdqRepService=null;
  if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {
    tdqRepService=(ITDQRepositoryService)GlobalServiceRegister.getDefault().getService(ITDQRepositoryService.class);
  }
  try {
    if (creation) {
      String nextId=factory.getNextId();
      connectionProperty.setId(nextId);
      connectionProperty.setLabel(connectionProperty.getDisplayName());
      factory.create(connectionItem,propertiesWizardPage.getDestinationPath());
      if (tdqRepService != null) {
        tdqRepService.fillMetadata(connectionItem);
      }
    }
 else {
      connectionProperty.setLabel(connectionProperty.getDisplayName());
      RepositoryUpdateManager.updateFileConnection(connectionItem);
      factory.save(connectionItem);
      closeLockStrategy();
    }
  }
 catch (  PersistenceException e) {
    String detailError=e.toString();
    new ErrorDialogWidthDetailArea(getShell(),PID,"String_Node_Str",detailError);
    return false;
  }
  List<IRepositoryViewObject> list=new ArrayList<IRepositoryViewObject>();
  list.add(repositoryObject);
  if (tdqRepService != null) {
    if (CoreRuntimePlugin.getInstance().isDataProfilePerspectiveSelected()) {
      tdqRepService.openEditor(connectionItem);
      tdqRepService.refresh();
    }
  }
  return true;
}

Fixed version (ground truth):
@Override public boolean performFinish(){
  final IProxyRepositoryFactory factory=ProxyRepositoryFactory.getInstance();
  ITDQRepositoryService tdqRepService=null;
  if (GlobalServiceRegister.getDefault().isServiceRegistered(ITDQRepositoryService.class)) {
    tdqRepService=(ITDQRepositoryService)GlobalServiceRegister.getDefault().getService(ITDQRepositoryService.class);
  }
  try {
    if (creation) {
      String nextId=factory.getNextId();
      connectionProperty.setId(nextId);
      connectionProperty.setLabel(connectionProperty.getDisplayName());
      factory.create(connectionItem,propertiesWizardPage.getDestinationPath());
      if (tdqRepService != null) {
        tdqRepService.fillMetadata(connectionItem);
      }
    }
 else {
      connectionProperty.setLabel(connectionProperty.getDisplayName());
      RepositoryUpdateManager.updateFileConnection(connectionItem);
      IWorkspace workspace=ResourcesPlugin.getWorkspace();
      IWorkspaceRunnable operation=new IWorkspaceRunnable(){
        public void run(        IProgressMonitor monitor) throws CoreException {
          try {
            factory.save(connectionItem);
            closeLockStrategy();
          }
 catch (          PersistenceException e) {
            throw new CoreException(new Status(IStatus.ERROR,"String_Node_Str","String_Node_Str",e));
          }
        }
      }
;
      workspace.run(operation,null);
    }
  }
 catch (  Exception e) {
    String detailError=e.toString();
    new ErrorDialogWidthDetailArea(getShell(),PID,"String_Node_Str",detailError);
    return false;
  }
  List<IRepositoryViewObject> list=new ArrayList<IRepositoryViewObject>();
  list.add(repositoryObject);
  if (tdqRepService != null) {
    if (CoreRuntimePlugin.getInstance().isDataProfilePerspectiveSelected()) {
      tdqRepService.openEditor(connectionItem);
      tdqRepService.refresh();
    }
  }
  return true;
}