Program: 135471
Project: 135471
Buggy source:
@SuppressWarnings("String_Node_Str") private void parseEventParameters(InputStream jsonBody){
  Gson gson=new Gson();
  Type type=new TypeToken<Map<String,Object>[]>(){
  }
.getType();
  BufferedReader reader;
  try {
    reader=new BufferedReader(new InputStreamReader(jsonBody,CHARSET_UTF8));
    Map<String,Object>[] eventsWithParameters=gson.fromJson(reader,type);
    IssueEvent[] issueEvents=(IssueEvent[])response.getBody();
    Map<String,String> parameters;
    for (int i=0; i < issueEvents.length; i++) {
      TurboIssueEvent event=new TurboIssueEvent(issueEvents[i].getActor(),IssueEventType.fromString(issueEvents[i].getEvent()));
switch (event.getType()) {
case Renamed:
        parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
      event.setRenamedFrom(parameters.get("String_Node_Str"));
    event.setRenamedTo(parameters.get("String_Node_Str"));
  break;
case Milestoned:
case Demilestoned:
parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
event.setMilestoneTitle(parameters.get("String_Node_Str"));
break;
case Labeled:
case Unlabeled:
parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
event.setLabelColour(parameters.get("String_Node_Str"));
event.setLabelName(parameters.get("String_Node_Str"));
break;
case Assigned:
case Unassigned:
event.setAssignedUser((User)eventsWithParameters[i].get("String_Node_Str"));
break;
case Closed:
case Reopened:
case Locked:
case Unlocked:
break;
case Subscribed:
case Merged:
case HeadRefDeleted:
case HeadRefRestored:
case Referenced:
case Mentioned:
default :
}
turboIssueEvents.add(event);
}
}
 catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") private void parseEventParameters(InputStream jsonBody){
  Gson gson=new Gson();
  Type type=new TypeToken<Map<String,Object>[]>(){
  }
.getType();
  BufferedReader reader;
  try {
    reader=new BufferedReader(new InputStreamReader(jsonBody,CHARSET_UTF8));
    Map<String,Object>[] eventsWithParameters=gson.fromJson(reader,type);
    IssueEvent[] issueEvents=(IssueEvent[])response.getBody();
    Map<String,String> parameters;
    for (int i=0; i < issueEvents.length; i++) {
      TurboIssueEvent event=new TurboIssueEvent(issueEvents[i].getActor(),IssueEventType.fromString(issueEvents[i].getEvent()));
switch (event.getType()) {
case Renamed:
        parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
      event.setRenamedFrom(parameters.get("String_Node_Str"));
    event.setRenamedTo(parameters.get("String_Node_Str"));
  break;
case Milestoned:
case Demilestoned:
parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
event.setMilestoneTitle(parameters.get("String_Node_Str"));
break;
case Labeled:
case Unlabeled:
parameters=(Map<String,String>)eventsWithParameters[i].get("String_Node_Str");
event.setLabelColour(parameters.get("String_Node_Str"));
event.setLabelName(parameters.get("String_Node_Str"));
break;
case Assigned:
case Unassigned:
Object assigneeMap=eventsWithParameters[i].get("String_Node_Str");
String json=new Gson().toJson(assigneeMap);
User user=gson.fromJson(json,User.class);
event.setAssignedUser(user);
break;
case Closed:
case Reopened:
case Locked:
case Unlocked:
break;
case Subscribed:
case Merged:
case HeadRefDeleted:
case HeadRefRestored:
case Referenced:
case Mentioned:
default :
}
turboIssueEvents.add(event);
}
}
 catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}