Program: 126238
Project: 126238
Buggy source:
@Override protected void doRun(){
  if (sourceNode == null) {
    return;
  }
  Property property=sourceNode.getObject().getProperty();
  Item item=property.getItem();
  Property updatedProperty=null;
  try {
    updatedProperty=ProxyRepositoryFactory.getInstance().getLastVersion(new Project(ProjectManager.getInstance().getProject(item)),property.getId()).getProperty();
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
  String initNameValue="String_Node_Str" + item.getProperty().getDisplayName();
  CopyObjectAction copyObjectAction=CopyObjectAction.getInstance();
  final TreeSelection selectionInClipboard=(TreeSelection)selection;
  promptForSavingIfNecessary((RepositoryNode)selection.getFirstElement());
  String jobNameValue=null;
  try {
    jobNameValue=getDuplicateName(sourceNode,initNameValue,selectionInClipboard);
  }
 catch (  BusinessException e) {
    jobNameValue="String_Node_Str";
  }
  if (item instanceof ProcessItem) {
    DuplicateDialog jobNewNameDialog=new DuplicateDialog(null,sourceNode,jobNameValue);
    if (jobNewNameDialog.open() != Dialog.OK) {
      return;
    }
    String jobNewName=jobNewNameDialog.getNameValue();
    String jobTypeValue=jobNewNameDialog.getJobTypeValue();
    String frameworkValue=jobNewNameDialog.getFrameworkValue();
    try {
      jobNameValue=getDuplicateName(sourceNode,jobNewName,selectionInClipboard);
    }
 catch (    BusinessException e) {
      jobNameValue="String_Node_Str";
    }
    if (JobType.STANDARD.getDisplayName().equals(jobTypeValue)) {
      String sourceJobType=ConvertJobsUtil.getJobTypeFromFramework(item);
      if (JobType.STANDARD.getDisplayName().equals(sourceJobType)) {
        createOperation(jobNewName,sourceNode,copyObjectAction,selectionInClipboard);
      }
    }
    ConvertJobsUtil.createOperation(jobNameValue,jobTypeValue,frameworkValue,sourceNode.getObject());
  }
 else {
    InputDialog jobNewNameDialog=new InputDialog(null,Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"),jobNameValue,new IInputValidator(){
      @Override public String isValid(      String newText){
        return validJobName(sourceNode,newText,selectionInClipboard);
      }
    }
);
    if (jobNewNameDialog.open() != Dialog.OK) {
      return;
    }
    String jobNewName=jobNewNameDialog.getValue();
    createOperation(jobNewName,sourceNode,copyObjectAction,selectionInClipboard);
  }
}

Fixed version (ground truth):
@Override protected void doRun(){
  if (sourceNode == null) {
    return;
  }
  Property property=sourceNode.getObject().getProperty();
  Item item=property.getItem();
  Property updatedProperty=null;
  try {
    updatedProperty=ProxyRepositoryFactory.getInstance().getLastVersion(new Project(ProjectManager.getInstance().getProject(item)),property.getId()).getProperty();
  }
 catch (  PersistenceException e) {
    ExceptionHandler.process(e);
  }
  String initNameValue="String_Node_Str" + item.getProperty().getDisplayName();
  CopyObjectAction copyObjectAction=CopyObjectAction.getInstance();
  final TreeSelection selectionInClipboard=(TreeSelection)selection;
  promptForSavingIfNecessary((RepositoryNode)selection.getFirstElement());
  String jobNameValue=null;
  try {
    jobNameValue=getDuplicateName(sourceNode,initNameValue,selectionInClipboard);
  }
 catch (  BusinessException e) {
    jobNameValue="String_Node_Str";
  }
  if (item instanceof ProcessItem && PluginChecker.isTIS()) {
    DuplicateDialog jobNewNameDialog=new DuplicateDialog(null,sourceNode,jobNameValue);
    if (jobNewNameDialog.open() != Dialog.OK) {
      return;
    }
    String jobNewName=jobNewNameDialog.getNameValue();
    String jobTypeValue=jobNewNameDialog.getJobTypeValue();
    String frameworkValue=jobNewNameDialog.getFrameworkValue();
    try {
      jobNameValue=getDuplicateName(sourceNode,jobNewName,selectionInClipboard);
    }
 catch (    BusinessException e) {
      jobNameValue="String_Node_Str";
    }
    if (JobType.STANDARD.getDisplayName().equals(jobTypeValue)) {
      String sourceJobType=ConvertJobsUtil.getJobTypeFromFramework(item);
      if (JobType.STANDARD.getDisplayName().equals(sourceJobType)) {
        createOperation(jobNewName,sourceNode,copyObjectAction,selectionInClipboard);
      }
    }
    ConvertJobsUtil.createOperation(jobNameValue,jobTypeValue,frameworkValue,sourceNode.getObject());
  }
 else {
    InputDialog jobNewNameDialog=new InputDialog(null,Messages.getString("String_Node_Str"),Messages.getString("String_Node_Str"),jobNameValue,new IInputValidator(){
      @Override public String isValid(      String newText){
        return validJobName(sourceNode,newText,selectionInClipboard);
      }
    }
);
    if (jobNewNameDialog.open() != Dialog.OK) {
      return;
    }
    String jobNewName=jobNewNameDialog.getValue();
    createOperation(jobNewName,sourceNode,copyObjectAction,selectionInClipboard);
  }
}