Program: 25917
Project: 25917
Buggy source:
public static Status parse(JSONObject o,int type) throws ApiException {
  if (o == null) {
    return null;
  }
  try {
    Status s=new Status();
    s.id=o.getString(BasicColumns.ID);
    s.ownerId=App.me.userId;
    s.createdAt=Parser.date(o.getString(BasicColumns.CREATED_AT));
    s.text=o.getString(StatusInfo.TEXT);
    s.simpleText=StatusHelper.getSimpifiedText(s.text);
    s.source=Parser.parseSource(o.getString(StatusInfo.SOURCE));
    if (o.has(StatusInfo.IN_REPLY_TO_STATUS_ID)) {
      s.inReplyToStatusId=o.getString(StatusInfo.IN_REPLY_TO_STATUS_ID);
      s.inReplyToUserId=o.getString(StatusInfo.IN_REPLY_TO_USER_ID);
      s.inReplyToScreenName=o.getString(StatusInfo.IN_REPLY_TO_SCREEN_NAME);
      if (!TextUtils.isEmpty(s.inReplyToStatusId)) {
        s.isThread=true;
      }
    }
    s.favorited=o.getBoolean(StatusInfo.FAVORITED);
    s.truncated=o.getBoolean(StatusInfo.TRUNCATED);
    s.self=o.getBoolean(StatusInfo.IS_SELF);
    s.isRead=false;
    s.special=false;
    if (o.has("String_Node_Str")) {
      JSONObject po=o.getJSONObject("String_Node_Str");
      s.photo=Photo.parse(po);
      s.photoImageUrl=s.photo.imageUrl;
      s.photoLargeUrl=s.photo.largeUrl;
      s.photoThumbUrl=s.photo.thumbUrl;
      s.hasPhoto=true;
    }
    if (o.has("String_Node_Str")) {
      JSONObject uo=o.getJSONObject("String_Node_Str");
      s.userId=uo.getString(BasicColumns.ID);
      s.userScreenName=uo.getString(UserInfo.SCREEN_NAME);
      s.userProfileImageUrl=uo.getString(UserInfo.PROFILE_IMAGE_URL);
      s.user=User.parse(uo);
    }
    s.type=type;
    return s;
  }
 catch (  JSONException e) {
    if (App.DEBUG)     e.printStackTrace();
    throw new ApiException(ResponseCode.ERROR_PARSE_FAILED,e.getMessage(),e);
  }
}

Fixed version (ground truth):
public static Status parse(JSONObject o,int type) throws ApiException {
  if (o == null) {
    return null;
  }
  try {
    Status s=new Status();
    s.id=o.getString(BasicColumns.ID);
    s.ownerId=App.me.userId;
    s.createdAt=Parser.date(o.getString(BasicColumns.CREATED_AT));
    s.text=o.getString(StatusInfo.TEXT);
    s.simpleText=StatusHelper.getSimpifiedText(s.text);
    s.source=Parser.parseSource(o.getString(StatusInfo.SOURCE));
    if (o.has(StatusInfo.IN_REPLY_TO_STATUS_ID)) {
      s.inReplyToStatusId=o.getString(StatusInfo.IN_REPLY_TO_STATUS_ID);
      s.inReplyToUserId=o.getString(StatusInfo.IN_REPLY_TO_USER_ID);
      s.inReplyToScreenName=o.getString(StatusInfo.IN_REPLY_TO_SCREEN_NAME);
      if (!TextUtils.isEmpty(s.inReplyToStatusId)) {
        s.isThread=true;
      }
    }
    s.favorited=o.getBoolean(StatusInfo.FAVORITED);
    s.truncated=o.getBoolean(StatusInfo.TRUNCATED);
    s.self=o.getBoolean(StatusInfo.IS_SELF);
    s.isRead=false;
    s.special=false;
    if (o.has("String_Node_Str")) {
      JSONObject po=o.getJSONObject("String_Node_Str");
      s.photo=Photo.parse(po);
      s.photoImageUrl=s.photo.imageUrl;
      s.photoLargeUrl=s.photo.largeUrl;
      s.photoThumbUrl=s.photo.thumbUrl;
      s.hasPhoto=true;
    }
    if (o.has("String_Node_Str")) {
      JSONObject uo=o.getJSONObject("String_Node_Str");
      s.userId=uo.getString(BasicColumns.ID);
      s.userScreenName=uo.getString(UserInfo.SCREEN_NAME);
      s.userProfileImageUrl=uo.getString(UserInfo.PROFILE_IMAGE_URL);
      s.user=User.parse(uo);
    }
    s.type=type;
    return s;
  }
 catch (  JSONException e) {
    if (App.DEBUG)     e.printStackTrace();
    throw new ApiException(ResponseCode.ERROR_JSON_EXCEPTION,e.getMessage(),e);
  }
}