Program: 119691
Project: 119691
Buggy source:
protected void getChildrenJobAndContextName(ExportFileResource[] allResources,String rootName,List<JobInfo> list,ProcessItem process,String projectName,List<ProcessItem> processedJob,List<URL> allJobScripts,ExportFileResource resource,Map<ExportChoice,Object> exportChoice,String... selectedJobVersion){
  if (processedJob.contains(process)) {
    return;
  }
  processedJob.add(process);
  ProjectManager projectManager=ProjectManager.getInstance();
  Project project=projectManager.getProject(process);
  String childProjectName=projectName;
  if (project != null) {
    childProjectName=project.getTechnicalLabel().toLowerCase();
  }
  allJobScripts.addAll(getJobScripts(childProjectName,process.getProperty().getLabel(),process.getProperty().getVersion(),isOptionChoosed(ExportChoice.needJobScript)));
  addContextScripts(process,process.getProperty().getLabel(),process.getProperty().getVersion(),resource,isOptionChoosed(ExportChoice.needContext));
  addJobItem(allResources,process,isOptionChoosed(ExportChoice.needJobItem),resource);
  addDependencies(allResources,process,isOptionChoosed(ExportChoice.needDependencies) && isOptionChoosed(ExportChoice.needJobItem),resource);
  addSourceCode(allResources,process,isOptionChoosed(ExportChoice.needSourceCode),resource);
  addDependenciesSourceCode(allResources,resource,isOptionChoosed(ExportChoice.needSourceCode));
  Set<JobInfo> subjobInfos=ProcessorUtilities.getChildrenJobInfo(process);
  for (  JobInfo subjobInfo : subjobInfos) {
    if (list.contains(subjobInfo)) {
      continue;
    }
    list.add(subjobInfo);
    getChildrenJobAndContextName(allResources,rootName,list,subjobInfo.getProcessItem(),projectName,processedJob,allJobScripts,resource,exportChoice);
  }
}

Fixed version (ground truth):
protected void getChildrenJobAndContextName(ExportFileResource[] allResources,String rootName,List<JobInfo> list,ProcessItem process,String projectName,List<ProcessItem> processedJob,List<URL> allJobScripts,ExportFileResource resource,Map<ExportChoice,Object> exportChoice,String... selectedJobVersion){
  if (processedJob.contains(process)) {
    return;
  }
  processedJob.add(process);
  ProjectManager projectManager=ProjectManager.getInstance();
  Project project=projectManager.getProject(process);
  String childProjectName=projectName;
  if (project != null) {
    childProjectName=project.getTechnicalLabel().toLowerCase();
  }
  if (!rootName.equals(process.getProperty().getLabel())) {
    allJobScripts.addAll(getJobScripts(childProjectName,process.getProperty().getLabel(),process.getProperty().getVersion(),isOptionChoosed(ExportChoice.needJobScript)));
    addContextScripts(process,process.getProperty().getLabel(),process.getProperty().getVersion(),resource,isOptionChoosed(ExportChoice.needContext));
    addJobItem(allResources,process,isOptionChoosed(ExportChoice.needJobItem),resource);
    addDependencies(allResources,process,isOptionChoosed(ExportChoice.needDependencies) && isOptionChoosed(ExportChoice.needJobItem),resource);
    addSourceCode(allResources,process,isOptionChoosed(ExportChoice.needSourceCode),resource);
    addDependenciesSourceCode(allResources,resource,isOptionChoosed(ExportChoice.needSourceCode));
  }
  Set<JobInfo> subjobInfos=ProcessorUtilities.getChildrenJobInfo(process);
  for (  JobInfo subjobInfo : subjobInfos) {
    if (list.contains(subjobInfo)) {
      continue;
    }
    list.add(subjobInfo);
    getChildrenJobAndContextName(allResources,rootName,list,subjobInfo.getProcessItem(),projectName,processedJob,allJobScripts,resource,exportChoice);
  }
}