Program: 117709
Project: 117709
Buggy source:
private void parseMore(JSONObject commentData,JSONObject child,TopicMap tm,HashMap<String,Topic> thingTypes) throws JSONException, TopicMapException {
  if (forceStop()) {
    return;
  }
  String id=commentData.getString("String_Node_Str");
  String link_id=commentData.getString("String_Node_Str");
  StringBuilder childString=new StringBuilder();
  JSONArray children=child.getJSONObject("String_Node_Str").getJSONArray("String_Node_Str");
  int count=children.length();
  for (int i=0; i < count; i++) {
    childString.append(children.getString(i));
    if (i < count - 1) {
      childString.append("String_Node_Str");
    }
  }
  MultipartBody r=Unirest.post(apiRoot + "String_Node_Str").header("String_Node_Str","String_Node_Str").header("String_Node_Str",uaString).field("String_Node_Str","String_Node_Str").field("String_Node_Str",id).field("String_Node_Str",link_id).field("String_Node_Str",childString.toString());
  ParseCallback<JsonNode> callback=new ParseCallback<JsonNode>(tm,thingTypes){
    @Override public void run(    HttpResponse<JsonNode> response){
      try {
        JSONObject respJSON=response.getBody().getObject();
        if (respJSON.getJSONObject("String_Node_Str").getJSONArray("String_Node_Str").length() == 0) {
          JSONArray things=respJSON.getJSONObject("String_Node_Str").getJSONObject("String_Node_Str").getJSONArray("String_Node_Str");
          for (int i=0; i < things.length(); i++) {
            parseThing(things.getJSONObject(i),tm,thingTypes);
          }
        }
      }
 catch (      Exception e) {
        log(e.getMessage());
      }
    }
  }
;
  requester.doRequest(r,callback);
}

Fixed version (ground truth):
private void parseMore(JSONObject commentData,JSONObject child,TopicMap tm,HashMap<String,Topic> thingTypes) throws JSONException, TopicMapException {
  if (forceStop()) {
    return;
  }
  String id=commentData.getString("String_Node_Str");
  String link_id=commentData.getString("String_Node_Str");
  StringBuilder childString=new StringBuilder();
  JSONArray children=child.getJSONObject("String_Node_Str").getJSONArray("String_Node_Str");
  int count=children.length();
  for (int i=0; i < count; i++) {
    childString.append(children.getString(i));
    if (i < count - 1) {
      childString.append("String_Node_Str");
    }
  }
  MultipartBody r=Unirest.post(apiRoot + "String_Node_Str").header("String_Node_Str","String_Node_Str").header("String_Node_Str",uaString).field("String_Node_Str","String_Node_Str").field("String_Node_Str",id).field("String_Node_Str",link_id).field("String_Node_Str",childString.toString());
  ParseCallback<JsonNode> callback=new ParseCallback<JsonNode>(tm,thingTypes){
    @Override public void run(    HttpResponse<JsonNode> response){
      try {
        JSONObject respJSON=response.getBody().getObject();
        if (respJSON.getJSONObject("String_Node_Str").getJSONArray("String_Node_Str").length() == 0) {
          JSONArray things=respJSON.getJSONObject("String_Node_Str").getJSONObject("String_Node_Str").getJSONArray("String_Node_Str");
          for (int i=0; i < things.length(); i++) {
            parseThing(things.getJSONObject(i),tm,thingTypes);
          }
        }
      }
 catch (      Exception e) {
        log(e.getMessage());
      }
    }
    @Override protected void error(    Exception e,    String body){
      log(e.getMessage());
      if (body != null) {
        log("String_Node_Str");
        log(body);
      }
    }
  }
;
  requester.doRequest(r,callback);
}