Program: 52065
Project: 52065
Buggy source:
private void addItems(Context c,Collection[] mycollections,String sourceDir,String mapFile,boolean template) throws Exception {
  Map<String,String> skipItems=new HashMap<String,String>();
  System.out.println("String_Node_Str" + sourceDir);
  System.out.println("String_Node_Str" + mapFile);
  File outFile=null;
  if (!isTest) {
    if (isResume) {
      skipItems=readMapFile(mapFile);
    }
    outFile=new File(mapFile);
    mapOut=new PrintWriter(new FileWriter(outFile,isResume));
    if (mapOut == null) {
      throw new Exception("String_Node_Str" + mapFile);
    }
  }
  File d=new java.io.File(sourceDir);
  if (d == null || !d.isDirectory()) {
    throw new Exception("String_Node_Str" + sourceDir);
  }
  String[] dircontents=d.list(directoryFilter);
  Arrays.sort(dircontents);
  for (int i=0; i < dircontents.length; i++) {
    if (skipItems.containsKey(dircontents[i])) {
      System.out.println("String_Node_Str" + dircontents[i]);
    }
 else {
      if (mycollections == null) {
        String path=sourceDir + File.separatorChar + dircontents[i];
        try {
          Collection[] cols=processCollectionFile(c,path,"String_Node_Str");
          if (cols == null) {
            System.out.println("String_Node_Str" + dircontents[i] + "String_Node_Str");
            continue;
          }
          mycollections=cols;
        }
 catch (        IllegalArgumentException e) {
          System.out.println(e.getMessage() + "String_Node_Str");
          continue;
        }
      }
      addItem(c,mycollections,sourceDir,dircontents[i],mapOut,template);
      System.out.println(i + "String_Node_Str" + dircontents[i]);
      c.clearCache();
    }
  }
}

Fixed version (ground truth):
private void addItems(Context c,Collection[] mycollections,String sourceDir,String mapFile,boolean template) throws Exception {
  Map<String,String> skipItems=new HashMap<String,String>();
  System.out.println("String_Node_Str" + sourceDir);
  System.out.println("String_Node_Str" + mapFile);
  File outFile=null;
  boolean directoryFileCollections=false;
  if (mycollections == null) {
    directoryFileCollections=true;
  }
  if (!isTest) {
    if (isResume) {
      skipItems=readMapFile(mapFile);
    }
    outFile=new File(mapFile);
    mapOut=new PrintWriter(new FileWriter(outFile,isResume));
    if (mapOut == null) {
      throw new Exception("String_Node_Str" + mapFile);
    }
  }
  File d=new java.io.File(sourceDir);
  if (d == null || !d.isDirectory()) {
    throw new Exception("String_Node_Str" + sourceDir);
  }
  String[] dircontents=d.list(directoryFilter);
  Arrays.sort(dircontents);
  for (int i=0; i < dircontents.length; i++) {
    if (skipItems.containsKey(dircontents[i])) {
      System.out.println("String_Node_Str" + dircontents[i]);
    }
 else {
      Collection[] clist;
      if (directoryFileCollections) {
        String path=sourceDir + File.separatorChar + dircontents[i];
        try {
          Collection[] cols=processCollectionFile(c,path,"String_Node_Str");
          if (cols == null) {
            System.out.println("String_Node_Str" + dircontents[i] + "String_Node_Str");
            continue;
          }
          clist=cols;
        }
 catch (        IllegalArgumentException e) {
          System.out.println(e.getMessage() + "String_Node_Str");
          continue;
        }
      }
 else {
        clist=mycollections;
      }
      addItem(c,clist,sourceDir,dircontents[i],mapOut,template);
      System.out.println(i + "String_Node_Str" + dircontents[i]);
      c.clearCache();
    }
  }
}