Program: 120187
Project: 120187
Buggy source:
@Override protected void doRun(){
  ISelection selection=getSelection();
  Object obj=((IStructuredSelection)selection).getFirstElement();
  RepositoryNode node=(RepositoryNode)obj;
  IRepositoryViewObject object=node.getObject();
  if (getNeededVersion() != null && !object.getVersion().equals(getNeededVersion())) {
    try {
      object=ProxyRepositoryFactory.getInstance().getSpecificVersion(new Project(ProjectManager.getInstance().getProject(object.getProperty().getItem())),object.getProperty().getId(),getNeededVersion(),false);
    }
 catch (    PersistenceException e) {
      ExceptionHandler.process(e);
    }
  }
  IPath path=RepositoryNodeUtilities.getPath(node);
  String originalName=object.getLabel();
  PropertiesWizard wizard=null;
  if (ERepositoryObjectType.ROUTINES == object.getRepositoryObjectType()) {
    wizard=new EditRoutinePropertiesWizard(object,path,getNeededVersion() == null);
  }
 else   if (ERepositoryObjectType.PROCESS == object.getRepositoryObjectType()) {
    wizard=new EditProcessPropertiesWizard(object,path,getNeededVersion() == null);
  }
 else {
    wizard=getPropertiesWizard(object,path);
  }
  WizardDialog dlg=new WizardDialog(Display.getCurrent().getActiveShell(),wizard);
  if (dlg.open() == Window.OK) {
    refresh(node);
    IEditorPart part=getCorrespondingEditor(node);
    if (part != null && part instanceof IUIRefresher) {
      ((IUIRefresher)part).refreshName();
    }
 else {
      processRoutineRenameOperation(originalName,node,path);
    }
    IDesignerCoreService designerCoreService=RepositoryPlugin.getDefault().getDesignerCoreService();
    if (designerCoreService != null) {
      designerCoreService.renameJobLaunch(node.getObject(),originalName);
    }
    IViewPart jobSettingView=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(IJobSettingsView.ID);
    if (jobSettingView != null && jobSettingView instanceof IJobSettingsView) {
      ((IJobSettingsView)jobSettingView).refreshCurrentViewTab();
    }
    if (node.getObjectType() == ERepositoryObjectType.ROUTINES) {
      RepositoryManager.syncRoutineAndJoblet(ERepositoryObjectType.ROUTINES);
    }
    if (node.getObjectType().getType().equals("String_Node_Str")) {
      ConnectionItem connectionItem=(ConnectionItem)node.getObject().getProperty().getItem();
      RepositoryUpdateManager.updateServices(connectionItem);
      if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
        IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
        if (service != null) {
          service.refreshComponentView(connectionItem);
        }
      }
    }
  }
}

Fixed version (ground truth):
@Override protected void doRun(){
  ISelection selection=getSelection();
  Object obj=((IStructuredSelection)selection).getFirstElement();
  RepositoryNode node=(RepositoryNode)obj;
  IRepositoryViewObject object=node.getObject();
  if (getNeededVersion() != null && !object.getVersion().equals(getNeededVersion())) {
    try {
      object=ProxyRepositoryFactory.getInstance().getSpecificVersion(new Project(ProjectManager.getInstance().getProject(object.getProperty().getItem())),object.getProperty().getId(),getNeededVersion(),false);
    }
 catch (    PersistenceException e) {
      ExceptionHandler.process(e);
    }
  }
  IPath path=RepositoryNodeUtilities.getPath(node);
  String originalName=object.getLabel();
  PropertiesWizard wizard=null;
  if (ERepositoryObjectType.ROUTINES == object.getRepositoryObjectType()) {
    wizard=new EditRoutinePropertiesWizard(object,path,getNeededVersion() == null);
  }
 else   if (ERepositoryObjectType.PROCESS == object.getRepositoryObjectType()) {
    wizard=new EditProcessPropertiesWizard(object,path,getNeededVersion() == null);
  }
 else {
    wizard=getPropertiesWizard(object,path);
  }
  WizardDialog dlg=new WizardDialog(Display.getCurrent().getActiveShell(),wizard);
  if (dlg.open() == Window.OK) {
    refresh(node);
    IEditorPart part=getCorrespondingEditor(node);
    if (part != null && part instanceof IUIRefresher) {
      ((IUIRefresher)part).refreshName();
    }
 else {
      processRoutineRenameOperation(originalName,node,path);
    }
    IDesignerCoreService designerCoreService=RepositoryPlugin.getDefault().getDesignerCoreService();
    if (designerCoreService != null) {
      designerCoreService.renameJobLaunch(node.getObject(),originalName);
      designerCoreService.resetJobProblemList(node.getObject(),originalName);
    }
    IViewPart jobSettingView=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(IJobSettingsView.ID);
    if (jobSettingView != null && jobSettingView instanceof IJobSettingsView) {
      ((IJobSettingsView)jobSettingView).refreshCurrentViewTab();
    }
    if (node.getObjectType() == ERepositoryObjectType.ROUTINES) {
      RepositoryManager.syncRoutineAndJoblet(ERepositoryObjectType.ROUTINES);
    }
    if (node.getObjectType().getType().equals("String_Node_Str")) {
      ConnectionItem connectionItem=(ConnectionItem)node.getObject().getProperty().getItem();
      RepositoryUpdateManager.updateServices(connectionItem);
      if (GlobalServiceRegister.getDefault().isServiceRegistered(IESBService.class)) {
        IESBService service=(IESBService)GlobalServiceRegister.getDefault().getService(IESBService.class);
        if (service != null) {
          service.refreshComponentView(connectionItem);
        }
      }
    }
  }
}