Program: 141677
Project: 141677
Buggy source:
private void exportAllReferenceJobs(ProcessItem routeProcess) throws InvocationTargetException, InterruptedException {
  for (  NodeType cTalendJob : EmfModelUtils.getComponentsByName(routeProcess,"String_Node_Str")) {
    String jobId=null;
    String jobVersion=null;
    String jobContext=null;
    for (    Object o : cTalendJob.getElementParameter()) {
      if (!(o instanceof ElementParameterType)) {
        continue;
      }
      ElementParameterType ept=(ElementParameterType)o;
      String eptName=ept.getName();
      if ("String_Node_Str".equals(eptName) && "String_Node_Str".equals(ept.getValue())) {
        break;
      }
      if ("String_Node_Str".equals(eptName)) {
        jobId=ept.getValue();
      }
 else       if ("String_Node_Str".equals(eptName)) {
        jobVersion=ept.getValue();
      }
 else       if ("String_Node_Str".equals(eptName)) {
        jobContext=ept.getValue();
      }
    }
    if (jobId == null || jobVersion == null) {
      continue;
    }
    IRepositoryNode referencedJobNode;
    try {
      referencedJobNode=getJobRepositoryNode(jobId,ERepositoryObjectType.PROCESS);
    }
 catch (    PersistenceException e) {
      throw new InvocationTargetException(e);
    }
    if (RelationshipItemBuilder.LATEST_VERSION.equals(jobVersion)) {
      jobVersion=referencedJobNode.getObject().getVersion();
    }
    String jobName=referencedJobNode.getObject().getProperty().getDisplayName();
    File jobFile;
    try {
      jobFile=File.createTempFile("String_Node_Str",FileConstants.JAR_FILE_SUFFIX,new File(getTempDir()));
    }
 catch (    IOException e) {
      throw new InvocationTargetException(e);
    }
    String jobArtifactVersion=jobVersion;
    if (getArtifactVersion().endsWith("String_Node_Str")) {
      jobArtifactVersion+="String_Node_Str";
    }
    BundleModel jobModel=new BundleModel(getJobGroupId(jobId,jobName),jobName + "String_Node_Str",jobArtifactVersion,jobFile);
    if (featuresModel.addBundle(jobModel)) {
      exportRouteUsedJobBundle(referencedJobNode,jobFile,jobVersion,jobName,jobVersion,routeNode.getObject().getProperty().getDisplayName(),version,jobContext);
    }
  }
}

Fixed version (ground truth):
private void exportAllReferenceJobs(String routeName,ProcessItem routeProcess) throws InvocationTargetException, InterruptedException {
  for (  NodeType cTalendJob : EmfModelUtils.getComponentsByName(routeProcess,"String_Node_Str")) {
    String jobId=null;
    String jobVersion=null;
    String jobContext=null;
    for (    Object o : cTalendJob.getElementParameter()) {
      if (!(o instanceof ElementParameterType)) {
        continue;
      }
      ElementParameterType ept=(ElementParameterType)o;
      String eptName=ept.getName();
      if ("String_Node_Str".equals(eptName) && "String_Node_Str".equals(ept.getValue())) {
        break;
      }
      if ("String_Node_Str".equals(eptName)) {
        jobId=ept.getValue();
      }
 else       if ("String_Node_Str".equals(eptName)) {
        jobVersion=ept.getValue();
      }
 else       if ("String_Node_Str".equals(eptName)) {
        jobContext=ept.getValue();
      }
    }
    if (jobId == null || jobVersion == null) {
      continue;
    }
    IRepositoryNode referencedJobNode;
    try {
      referencedJobNode=getJobRepositoryNode(jobId,ERepositoryObjectType.PROCESS);
    }
 catch (    PersistenceException e) {
      throw new InvocationTargetException(e);
    }
    if (RelationshipItemBuilder.LATEST_VERSION.equals(jobVersion)) {
      jobVersion=referencedJobNode.getObject().getVersion();
    }
    String jobName=referencedJobNode.getObject().getProperty().getDisplayName();
    String jobArtifactName=routeName + "String_Node_Str" + jobName+ "String_Node_Str";
    File jobFile;
    try {
      jobFile=File.createTempFile("String_Node_Str",FileConstants.JAR_FILE_SUFFIX,new File(getTempDir()));
    }
 catch (    IOException e) {
      throw new InvocationTargetException(e);
    }
    String jobBundleVersion=jobVersion;
    if (getArtifactVersion().endsWith("String_Node_Str")) {
      jobBundleVersion+="String_Node_Str";
    }
    BundleModel jobModel=new BundleModel(getGroupId(),jobArtifactName,getArtifactVersion(),jobFile);
    if (featuresModel.addBundle(jobModel)) {
      exportRouteUsedJobBundle(referencedJobNode,jobFile,jobVersion,jobName,jobBundleVersion,routeNode.getObject().getProperty().getDisplayName(),version,jobContext);
    }
  }
}