Program: 15418
Project: 15418
Buggy source:
@Override public void onJsonParseStarted(final JsonValue value,final long timestamp,final UUID session,final boolean fromCache){
  try {
    final JsonBufferedObject root=value.asObject();
    final JsonBufferedObject data=root.getObject("String_Node_Str");
    final JsonBufferedArray children=data.getArray("String_Node_Str");
    try {
      JsonValue newMessage=children.get(0);
      int numMessages=children.getCurrentItemCount();
      RedditThing thing=newMessage.asObject(RedditThing.class);
      String title;
      String text=context.getString(R.string.notification_message_action);
      String messageID;
switch (thing.getKind()) {
case COMMENT:
        final RedditComment comment=thing.asComment();
      title=comment.author + "String_Node_Str" + context.getString(R.string.notification_comment);
    messageID=comment.name;
  break;
case MESSAGE:
final RedditMessage message=thing.asMessage();
title=message.author + "String_Node_Str" + context.getString(R.string.notification_message);
messageID=message.name;
break;
default :
throw new RuntimeException("String_Node_Str");
}
android.content.SharedPreferences messageStore=context.getSharedPreferences(PREFS_FILENAME,0);
String oldMessage=messageStore.getString(PREFS_SAVED_MESSAGE,"String_Node_Str");
if (messageID.equals(oldMessage)) return;
messageStore.edit().putString(PREFS_SAVED_MESSAGE,newMessage.toString()).commit();
if (numMessages > 1) {
title=context.getString(R.string.notification_message_multiple);
}
createNotification(title,text,context);
}
 catch (IndexOutOfBoundsException e) {
}
}
 catch (Throwable t) {
notifyFailure(RequestFailureType.PARSE,t,null,"String_Node_Str");
}
}

Fixed version (ground truth):
@Override public void onJsonParseStarted(final JsonValue value,final long timestamp,final UUID session,final boolean fromCache){
  try {
    final JsonBufferedObject root=value.asObject();
    final JsonBufferedObject data=root.getObject("String_Node_Str");
    final JsonBufferedArray children=data.getArray("String_Node_Str");
    try {
      JsonValue newMessage=children.get(0);
      int numMessages=children.getCurrentItemCount();
      RedditThing thing=newMessage.asObject(RedditThing.class);
      String title;
      String text=context.getString(R.string.notification_message_action);
      String messageID;
switch (thing.getKind()) {
case COMMENT:
        final RedditComment comment=thing.asComment();
      title=comment.author + "String_Node_Str" + context.getString(R.string.notification_comment);
    messageID=comment.name;
  break;
case MESSAGE:
final RedditMessage message=thing.asMessage();
title=message.author + "String_Node_Str" + context.getString(R.string.notification_message);
messageID=message.name;
break;
default :
throw new RuntimeException("String_Node_Str");
}
android.content.SharedPreferences messageStore=context.getSharedPreferences(PREFS_FILENAME,0);
String oldMessage=messageStore.getString(PREFS_SAVED_MESSAGE,"String_Node_Str");
if (messageID.equals(oldMessage)) return;
messageStore.edit().putString(PREFS_SAVED_MESSAGE,messageID).commit();
if (numMessages > 1) {
title=context.getString(R.string.notification_message_multiple);
}
createNotification(title,text,context);
}
 catch (IndexOutOfBoundsException e) {
}
}
 catch (Throwable t) {
notifyFailure(RequestFailureType.PARSE,t,null,"String_Node_Str");
}
}