Program: 33796
Project: 33796
Buggy source:
@Override protected APIResponse.CODE doInBackground(String... params){
  eventKey=params[0];
  View view=mFragment.getView();
  APIResponse<Event> eventResponse=new APIResponse<>(null,APIResponse.CODE.NODATA);
  APIResponse<ArrayList<JsonArray>> rankResponse=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  APIResponse<JsonObject> statsResponse=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  APIResponse<ArrayList<Match>> matchResult=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  if (view != null && activity != null && eventKey != null) {
    eventName=(TextView)view.findViewById(R.id.event_name);
    eventDate=(TextView)view.findViewById(R.id.event_date);
    eventLoc=(TextView)view.findViewById(R.id.event_location);
    eventVenue=(TextView)view.findViewById(R.id.event_venue);
    nextLayout=(LinearLayout)view.findViewById(R.id.event_next_match_container);
    lastLayout=(LinearLayout)view.findViewById(R.id.event_last_match_container);
    topTeams=(LinearLayout)view.findViewById(R.id.event_top_teams_container);
    topOpr=(LinearLayout)view.findViewById(R.id.event_top_opr_container);
    LayoutInflater inflater=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    try {
      eventResponse=DataManager.Events.getEvent(activity,eventKey,forceFromCache);
      event=eventResponse.getData();
      if (isCancelled()) {
        return APIResponse.CODE.NODATA;
      }
    }
 catch (    DataManager.NoDataException e) {
      Log.w(Constants.LOG_TAG,"String_Node_Str");
      return APIResponse.CODE.NODATA;
    }
    if (event.hasStarted()) {
      showRanks=showStats=true;
      ranks=new TextView(activity);
      try {
        rankResponse=DataManager.Events.getEventRankings(activity,eventKey,forceFromCache);
        ArrayList<JsonArray> rankList=rankResponse.getData();
        String rankString="String_Node_Str";
        if (rankList.isEmpty() || rankList.size() == 1) {
          showRanks=false;
        }
        for (int i=1; i < Math.min(6,rankList.size()); i++) {
          rankString+=((i) + "String_Node_Str" + rankList.get(i).get(1).getAsString());
          if (i < Math.min(6,rankList.size()) - 1) {
            rankString+="String_Node_Str";
          }
        }
        ranks.setText(rankString);
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        showRanks=false;
        return APIResponse.CODE.NODATA;
      }
      stats=new TextView(activity);
      try {
        statsResponse=DataManager.Events.getEventStats(activity,eventKey,forceFromCache);
        ArrayList<Map.Entry<String,JsonElement>> opr=new ArrayList<>();
        if (statsResponse.getData().has("String_Node_Str") && !statsResponse.getData().get("String_Node_Str").getAsJsonObject().entrySet().isEmpty()) {
          opr.addAll(statsResponse.getData().get("String_Node_Str").getAsJsonObject().entrySet());
          Collections.sort(opr,new TeamSortByOPRComparator());
          Collections.reverse(opr);
          String statsString="String_Node_Str";
          for (int i=0; i < Math.min(5,opr.size()); i++) {
            statsString+=(i + 1) + "String_Node_Str" + opr.get(i).getKey();
            if (i < Math.min(5,opr.size()) - 1) {
              statsString+="String_Node_Str";
            }
          }
          stats.setText(statsString);
        }
 else {
          showStats=false;
        }
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        showStats=false;
        return APIResponse.CODE.NODATA;
      }
    }
    if (event.isHappeningNow()) {
      try {
        matchResult=DataManager.Events.getMatchList(activity,eventKey,forceFromCache);
        ArrayList<Match> matches=matchResult.getData();
        Collections.sort(matches,new MatchSortByPlayOrderComparator());
        Match nextMatch=MatchHelper.getNextMatchPlayed(matches);
        Match lastMatch=MatchHelper.getLastMatchPlayed(matches);
        if (nextMatch != null) {
          showNextMatch=true;
          next=nextMatch.render().getView(activity,inflater,null);
        }
        if (lastMatch != null) {
          showLastMatch=true;
          last=lastMatch.render().getView(activity,inflater,null);
        }
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        return APIResponse.CODE.NODATA;
      }
    }
    view.findViewById(R.id.event_venue_container).setTag("String_Node_Str" + event.getVenue().replace("String_Node_Str","String_Node_Str"));
    view.findViewById(R.id.event_location_container).setTag("String_Node_Str" + event.getLocation().replace("String_Node_Str","String_Node_Str"));
    view.findViewById(R.id.event_website_button).setTag(!event.getWebsite().isEmpty() ? event.getWebsite() : "String_Node_Str" + event.getEventName());
    view.findViewById(R.id.event_twitter_button).setTag("String_Node_Str" + event.getEventKey());
    view.findViewById(R.id.event_youtube_button).setTag("String_Node_Str" + event.getEventKey());
    view.findViewById(R.id.event_cd_button).setTag("String_Node_Str" + event.getEventKey());
  }
  return APIResponse.mergeCodes(eventResponse.getCode(),rankResponse.getCode(),matchResult.getCode(),statsResponse.getCode());
}

Fixed version (ground truth):
@Override protected APIResponse.CODE doInBackground(String... params){
  eventKey=params[0];
  APIResponse<Event> eventResponse=new APIResponse<>(null,APIResponse.CODE.NODATA);
  APIResponse<ArrayList<JsonArray>> rankResponse=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  APIResponse<JsonObject> statsResponse=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  APIResponse<ArrayList<Match>> matchResult=new APIResponse<>(null,APIResponse.CODE.CACHED304);
  if (activity != null && eventKey != null) {
    LayoutInflater inflater=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    try {
      eventResponse=DataManager.Events.getEvent(activity,eventKey,forceFromCache);
      event=eventResponse.getData();
      if (isCancelled()) {
        return APIResponse.CODE.NODATA;
      }
    }
 catch (    DataManager.NoDataException e) {
      Log.w(Constants.LOG_TAG,"String_Node_Str");
      return APIResponse.CODE.NODATA;
    }
    if (event.hasStarted()) {
      showRanks=showStats=true;
      ranks=new TextView(activity);
      try {
        rankResponse=DataManager.Events.getEventRankings(activity,eventKey,forceFromCache);
        ArrayList<JsonArray> rankList=rankResponse.getData();
        String rankString="String_Node_Str";
        if (rankList.isEmpty() || rankList.size() == 1) {
          showRanks=false;
        }
        for (int i=1; i < Math.min(6,rankList.size()); i++) {
          rankString+=((i) + "String_Node_Str" + rankList.get(i).get(1).getAsString());
          if (i < Math.min(6,rankList.size()) - 1) {
            rankString+="String_Node_Str";
          }
        }
        ranks.setText(rankString);
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        showRanks=false;
        return APIResponse.CODE.NODATA;
      }
      stats=new TextView(activity);
      try {
        statsResponse=DataManager.Events.getEventStats(activity,eventKey,forceFromCache);
        ArrayList<Map.Entry<String,JsonElement>> opr=new ArrayList<>();
        if (statsResponse.getData().has("String_Node_Str") && !statsResponse.getData().get("String_Node_Str").getAsJsonObject().entrySet().isEmpty()) {
          opr.addAll(statsResponse.getData().get("String_Node_Str").getAsJsonObject().entrySet());
          Collections.sort(opr,new TeamSortByOPRComparator());
          Collections.reverse(opr);
          String statsString="String_Node_Str";
          for (int i=0; i < Math.min(5,opr.size()); i++) {
            statsString+=(i + 1) + "String_Node_Str" + opr.get(i).getKey();
            if (i < Math.min(5,opr.size()) - 1) {
              statsString+="String_Node_Str";
            }
          }
          stats.setText(statsString);
        }
 else {
          showStats=false;
        }
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        showStats=false;
        return APIResponse.CODE.NODATA;
      }
    }
    if (event.isHappeningNow()) {
      try {
        matchResult=DataManager.Events.getMatchList(activity,eventKey,forceFromCache);
        ArrayList<Match> matches=matchResult.getData();
        Collections.sort(matches,new MatchSortByPlayOrderComparator());
        Match nextMatch=MatchHelper.getNextMatchPlayed(matches);
        Match lastMatch=MatchHelper.getLastMatchPlayed(matches);
        if (nextMatch != null) {
          showNextMatch=true;
          next=nextMatch.render().getView(activity,inflater,null);
        }
        if (lastMatch != null) {
          showLastMatch=true;
          last=lastMatch.render().getView(activity,inflater,null);
        }
        if (isCancelled()) {
          return APIResponse.CODE.NODATA;
        }
      }
 catch (      DataManager.NoDataException e) {
        Log.w(Constants.LOG_TAG,"String_Node_Str");
        return APIResponse.CODE.NODATA;
      }
    }
  }
  return APIResponse.mergeCodes(eventResponse.getCode(),rankResponse.getCode(),matchResult.getCode(),statsResponse.getCode());
}