Program: 11677
Project: 11677
Buggy source:
static NestedTreeMap createLargeGeoTree() throws Exception {
  NestedTreeMap tree=new NestedTreeMap();
  tree.setRoot(0);
  tree.setTitle(0,"String_Node_Str");
  int idGenerator=100;
  Map<String,Integer> stateIdMap=new TreeMap<String,Integer>();
  Map<String,Integer> countyIdMap=new TreeMap<String,Integer>();
  InputStream fileStream=StreamOpener.fileThenResource.openForRead("String_Node_Str");
  ZipInputStream zipStream=new ZipInputStream(fileStream);
  zipStream.getNextEntry();
  BufferedReader reader=new BufferedReader(new InputStreamReader(zipStream));
  reader.readLine();
  reader.readLine();
  String line=null;
  while ((line=reader.readLine()) != null) {
    String[] parts=line.split("String_Node_Str");
    String level=parts[0];
    String county=parts[1];
    String city=parts[2];
    String state=parts[3];
    int population=Integer.parseInt(parts[15]);
    String text="String_Node_Str" + population;
    if ("String_Node_Str".equals(level)) {
      int id=idGenerator++;
      stateIdMap.put(state,id);
      tree.addChild(0,id,population,state);
      tree.setText(id,text);
    }
 else     if ("String_Node_Str".equals(level)) {
      int stateId=stateIdMap.get(state);
      int id=idGenerator++;
      countyIdMap.put(county,id);
      tree.addChild(stateId,id,population,"String_Node_Str".equals(county) ? city : county);
      tree.setText(id,text);
    }
 else     if ("String_Node_Str".equals(level)) {
      int countyId=countyIdMap.get(county);
      int id=idGenerator++;
      tree.addChild(countyId,id,population,city);
      tree.setText(id,text);
    }
  }
  reader.close();
  return tree;
}

Fixed version (ground truth):
static NestedTreeMap createLargeGeoTree() throws Exception {
  NestedTreeMap tree=new NestedTreeMap();
  tree.setRoot(0);
  tree.setTitle(0,"String_Node_Str");
  int idGenerator=100;
  Map<String,Integer> stateIdMap=new TreeMap<String,Integer>();
  Map<String,Integer> countyIdMap=new TreeMap<String,Integer>();
  InputStream fileStream=StreamOpener.resource.openForRead("String_Node_Str");
  ZipInputStream zipStream=new ZipInputStream(fileStream);
  zipStream.getNextEntry();
  BufferedReader reader=new BufferedReader(new InputStreamReader(zipStream));
  reader.readLine();
  reader.readLine();
  String line=null;
  while ((line=reader.readLine()) != null) {
    String[] parts=line.split("String_Node_Str");
    String level=parts[0];
    String county=parts[1];
    String city=parts[2];
    String state=parts[3];
    int population=Integer.parseInt(parts[15]);
    String text="String_Node_Str" + population;
    if ("String_Node_Str".equals(level)) {
      int id=idGenerator++;
      stateIdMap.put(state,id);
      tree.addChild(0,id,population,state);
      tree.setText(id,text);
    }
 else     if ("String_Node_Str".equals(level)) {
      int stateId=stateIdMap.get(state);
      int id=idGenerator++;
      countyIdMap.put(county,id);
      tree.addChild(stateId,id,population,"String_Node_Str".equals(county) ? city : county);
      tree.setText(id,text);
    }
 else     if ("String_Node_Str".equals(level)) {
      int countyId=countyIdMap.get(county);
      int id=idGenerator++;
      tree.addChild(countyId,id,population,city);
      tree.setText(id,text);
    }
  }
  reader.close();
  return tree;
}