Program: 140821
Project: 140821
Buggy source:
private void outputRPCs() throws IOException {
  TreeMap<String,String> rpc=new TreeMap<String,String>();
  if (segment1 != null) {
    TreCollection treCollection=segment1.getTREsRawStructure();
    for (    Tre tre : treCollection.getTREs()) {
      if (tre.getName().equals("String_Node_Str")) {
        for (        TreEntry entry : tre.getEntries()) {
          if (entry.getName().equals("String_Node_Str")) {
            continue;
          }
          if (entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str")) {
            continue;
          }
          if (entry.getFieldValue() != null) {
            if (entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str")|| entry.getName().equals("String_Node_Str")) {
            }
 else {
              Integer rpcValue=Integer.parseInt(entry.getFieldValue());
              rpc.put(entry.getName(),rpcValue.toString());
            }
          }
 else           if ((entry.getGroups() != null) && (!entry.getGroups().isEmpty())) {
            StringBuilder builder=new StringBuilder();
            for (            TreGroup group : entry.getGroups()) {
              for (              TreEntry groupEntry : group.getEntries()) {
                try {
                  double fieldVal=Double.parseDouble(groupEntry.getFieldValue());
                  builder.append(cleanupNumberString(fieldVal));
                  builder.append("String_Node_Str");
                }
 catch (                NumberFormatException e) {
                  builder.append(String.format("String_Node_Str",groupEntry.getFieldValue()));
                }
              }
            }
          }
        }
        try {
          double longOff=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double longScale=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double longMin=longOff - (longScale / 2.0);
          double longMax=longOff + (longScale / 2.0);
          rpc.put("String_Node_Str",cleanupNumberString(longMax));
          rpc.put("String_Node_Str",cleanupNumberString(longMin));
          double latOff=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double latScale=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double latMin=latOff - (latScale / 2.0);
          double latMax=latOff + (latScale / 2.0);
          rpc.put("String_Node_Str",cleanupNumberString(latMax));
          rpc.put("String_Node_Str",cleanupNumberString(latMin));
        }
 catch (        ParseException e) {
          e.printStackTrace();
        }
      }
    }
  }
  if (!rpc.keySet().isEmpty()) {
    out.write("String_Node_Str");
    for (    String tagname : rpc.keySet()) {
      out.write(String.format("String_Node_Str",tagname,rpc.get(tagname)));
    }
  }
}

Fixed version (ground truth):
private void outputRPCs() throws IOException {
  Map<String,String> rpc=new TreeMap<String,String>();
  if (segment1 != null) {
    TreCollection treCollection=segment1.getTREsRawStructure();
    for (    Tre tre : treCollection.getTREs()) {
      if (tre.getName().equals("String_Node_Str")) {
        for (        TreEntry entry : tre.getEntries()) {
          if (entry.getName().equals("String_Node_Str")) {
            continue;
          }
          if (entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str")) {
            continue;
          }
          if (entry.getFieldValue() != null) {
            if (entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str") || entry.getName().equals("String_Node_Str")|| entry.getName().equals("String_Node_Str")) {
            }
 else {
              Integer rpcValue=Integer.parseInt(entry.getFieldValue());
              rpc.put(entry.getName(),rpcValue.toString());
            }
          }
 else           if ((entry.getGroups() != null) && (!entry.getGroups().isEmpty())) {
            StringBuilder builder=new StringBuilder();
            for (            TreGroup group : entry.getGroups()) {
              for (              TreEntry groupEntry : group.getEntries()) {
                try {
                  double fieldVal=Double.parseDouble(groupEntry.getFieldValue());
                  builder.append(cleanupNumberString(fieldVal));
                  builder.append("String_Node_Str");
                }
 catch (                NumberFormatException e) {
                  builder.append(String.format("String_Node_Str",groupEntry.getFieldValue()));
                }
              }
            }
          }
        }
        try {
          double longOff=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double longScale=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double longMin=longOff - (longScale / 2.0);
          double longMax=longOff + (longScale / 2.0);
          rpc.put("String_Node_Str",cleanupNumberString(longMax));
          rpc.put("String_Node_Str",cleanupNumberString(longMin));
          double latOff=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double latScale=Double.parseDouble(tre.getFieldValue("String_Node_Str"));
          double latMin=latOff - (latScale / 2.0);
          double latMax=latOff + (latScale / 2.0);
          rpc.put("String_Node_Str",cleanupNumberString(latMax));
          rpc.put("String_Node_Str",cleanupNumberString(latMin));
        }
 catch (        ParseException e) {
          e.printStackTrace();
        }
      }
    }
  }
  if (!rpc.keySet().isEmpty()) {
    out.write("String_Node_Str");
    for (    String tagname : rpc.keySet()) {
      out.write(String.format("String_Node_Str",tagname,rpc.get(tagname)));
    }
  }
}