Program: 75377
Project: 75377
Buggy source:
private Set _findJarFiles(Director director) throws IOException {
  Map classMap=_allAtomicEntityJars();
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put(director.getClass().getName(),_domainJar);
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  HashSet jarFilesThatHaveBeenRequired=new HashSet();
  jarFilesThatHaveBeenRequired.add("String_Node_Str");
  jarFilesThatHaveBeenRequired.add("String_Node_Str");
  boolean fixJarFiles=false;
  Iterator classNames=classMap.keySet().iterator();
  while (classNames.hasNext()) {
    String className=(String)classNames.next();
    if (jarFilesThatHaveBeenRequired.contains((String)classMap.get(className))) {
      continue;
    }
    if (!_copyPotentialJarFile((String)classMap.get(className),className,jarFilesThatHaveBeenRequired)) {
      String classResource=ClassUtilities.lookupClassAsResource(className);
      if (classResource == null) {
        throw new IOException("String_Node_Str" + className + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
      }
      classResource=StringUtilities.substitute(classResource,"String_Node_Str","String_Node_Str");
      String canonicalClassResource=UtilityFunctions.findFile(classResource);
      String canonicalPtIIDirectory=UtilityFunctions.findFile(_ptIIDirectory);
      if (canonicalClassResource.equals(canonicalPtIIDirectory)) {
        String pathName=className.replace('.','/');
        String directoryName=pathName.substring(0,pathName.lastIndexOf("String_Node_Str"));
        String jarFileName=directoryName + "String_Node_Str" + directoryName.substring(directoryName.lastIndexOf("String_Node_Str"))+ "String_Node_Str";
        if (_copyPotentialJarFile(jarFileName,className,jarFilesThatHaveBeenRequired)) {
        }
 else {
          String warning="String_Node_Str" + className + "String_Node_Str"+ _ptIIDirectory+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
          if (_codeBase.equals("String_Node_Str")) {
            throw new IOException(warning + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
          }
 else {
            System.out.println("String_Node_Str" + warning + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
            fixJarFiles=true;
            continue;
          }
        }
      }
    }
  }
  jarFilesThatHaveBeenRequired.remove("String_Node_Str");
  jarFilesThatHaveBeenRequired.remove("String_Node_Str");
  File potentialDomainJarFile=new File(_ptIIDirectory,_domainJar);
  if (!potentialDomainJarFile.exists()) {
    System.out.println("String_Node_Str" + _domainJar + "String_Node_Str"+ potentialDomainJarFile+ "String_Node_Str"+ "String_Node_Str");
    jarFilesThatHaveBeenRequired.add("String_Node_Str");
  }
  if (fixJarFiles) {
    jarFilesThatHaveBeenRequired.add("String_Node_Str");
    jarFilesThatHaveBeenRequired.add(_domainJar);
  }
  return jarFilesThatHaveBeenRequired;
}

Fixed version (ground truth):
private Set _findJarFiles(Director director) throws IOException {
  Map classMap=_allAtomicEntityJars();
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put(director.getClass().getName(),_domainJar);
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  classMap.put("String_Node_Str","String_Node_Str");
  HashSet jarFilesThatHaveBeenRequired=new HashSet();
  jarFilesThatHaveBeenRequired.add("String_Node_Str");
  jarFilesThatHaveBeenRequired.add("String_Node_Str");
  boolean fixJarFiles=false;
  Iterator classNames=classMap.keySet().iterator();
  while (classNames.hasNext()) {
    String className=(String)classNames.next();
    if (jarFilesThatHaveBeenRequired.contains((String)classMap.get(className))) {
      continue;
    }
    if (!_copyPotentialJarFile((String)classMap.get(className),className,jarFilesThatHaveBeenRequired)) {
      String classResource=ClassUtilities.lookupClassAsResource(className);
      if (classResource == null) {
        throw new IOException("String_Node_Str" + className + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
      }
      classResource=StringUtilities.substitute(classResource,"String_Node_Str","String_Node_Str");
      String canonicalClassResource=UtilityFunctions.findFile(classResource);
      String canonicalPtIIDirectory=UtilityFunctions.findFile(_ptIIDirectory);
      if (canonicalClassResource.equals(canonicalPtIIDirectory)) {
        String pathName=className.replace('.','/');
        String directoryName=pathName.substring(0,pathName.lastIndexOf("String_Node_Str"));
        String jarFileName=directoryName + directoryName.substring(directoryName.lastIndexOf("String_Node_Str")) + "String_Node_Str";
        if (_copyPotentialJarFile(jarFileName,className,jarFilesThatHaveBeenRequired)) {
        }
 else {
          String warning="String_Node_Str" + className + "String_Node_Str"+ _ptIIDirectory+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
          if (_codeBase.equals("String_Node_Str")) {
            throw new IOException(warning + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
          }
 else {
            System.out.println("String_Node_Str" + warning + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
            fixJarFiles=true;
            continue;
          }
        }
      }
    }
  }
  jarFilesThatHaveBeenRequired.remove("String_Node_Str");
  jarFilesThatHaveBeenRequired.remove("String_Node_Str");
  File potentialDomainJarFile=new File(_ptIIDirectory,_domainJar);
  if (!potentialDomainJarFile.exists()) {
    System.out.println("String_Node_Str" + _domainJar + "String_Node_Str"+ potentialDomainJarFile+ "String_Node_Str"+ "String_Node_Str");
    jarFilesThatHaveBeenRequired.add("String_Node_Str");
  }
  if (fixJarFiles) {
    jarFilesThatHaveBeenRequired.add("String_Node_Str");
    jarFilesThatHaveBeenRequired.add(_domainJar);
  }
  return jarFilesThatHaveBeenRequired;
}