Program: 14761
Project: 14761
Buggy source:
private void startTasks(final String blogId,final int startId){
  orchestrator=new Thread(){
    @Override public void run(){
      updateUIExecutor=(ThreadPoolExecutor)Executors.newFixedThreadPool(1);
      RestClientUtils restClientUtils=WordPress.getRestClientUtils();
      final String today=StatUtils.getCurrentDate();
      final String yesterday=StatUtils.getYesterdaysDate();
      AppLog.i(T.STATS,"String_Node_Str");
      broadcastUpdate(true);
      String path=String.format("String_Node_Str",blogId);
      statsNetworkRequests.add(restClientUtils.get(path,statsSummaryRestListener,statsSummaryErrListener));
      path=getBarChartPath(StatsBarChartUnit.WEEK,30);
      BarChartListener barChartRestListener=new BarChartListener(StatsBarChartUnit.WEEK);
      statsNetworkRequests.add(restClientUtils.get(path,barChartRestListener,barChartRestListener));
      path=getBarChartPath(StatsBarChartUnit.MONTH,30);
      barChartRestListener=new BarChartListener(StatsBarChartUnit.MONTH);
      statsNetworkRequests.add(restClientUtils.get(path,barChartRestListener,barChartRestListener));
      path=String.format("String_Node_Str",mBlogId,today);
      TopPostAndPageListener topPostAndPageRestListener=new TopPostAndPageListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,topPostAndPageRestListener,topPostAndPageRestListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      topPostAndPageRestListener=new TopPostAndPageListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,new TopPostAndPageListener(yesterday),topPostAndPageRestListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ReferrersListener referrersListener=new ReferrersListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,referrersListener,referrersListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      referrersListener=new ReferrersListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,referrersListener,referrersListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ClicksListener clicksListener=new ClicksListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,clicksListener,clicksListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      clicksListener=new ClicksListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,clicksListener,clicksListener));
      path=String.format("String_Node_Str",mBlogId,today);
      SearchEngineTermsListener searchEngineTermsListener=new SearchEngineTermsListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,searchEngineTermsListener,searchEngineTermsListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      searchEngineTermsListener=new SearchEngineTermsListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,searchEngineTermsListener,searchEngineTermsListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ViewsByCountryListener viewsByCountryListener=new ViewsByCountryListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,viewsByCountryListener,viewsByCountryListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      viewsByCountryListener=new ViewsByCountryListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,viewsByCountryListener,viewsByCountryListener));
      numberOfNetworkCalls=statsNetworkRequests.size();
      while (!isDone()) {
        waitForResponse();
      }
      updateUIExecutor.shutdown();
      broadcastUpdate(false);
      stopSelf(startId);
    }
  }
;
  orchestrator.start();
}

Fixed version (ground truth):
private void startTasks(final String blogId,final int startId){
  orchestrator=new Thread(){
    @Override public void run(){
      updateUIExecutor=(ThreadPoolExecutor)Executors.newFixedThreadPool(1);
      RestClientUtils restClientUtils=WordPress.getRestClientUtils();
      final String today=StatUtils.getCurrentDate();
      final String yesterday=StatUtils.getYesterdaysDate();
      AppLog.i(T.STATS,"String_Node_Str" + blogId);
      broadcastUpdate(true);
      String path=String.format("String_Node_Str",blogId);
      statsNetworkRequests.add(restClientUtils.get(path,statsSummaryRestListener,statsSummaryErrListener));
      path=getBarChartPath(StatsBarChartUnit.WEEK,30);
      BarChartListener barChartRestListener=new BarChartListener(StatsBarChartUnit.WEEK);
      statsNetworkRequests.add(restClientUtils.get(path,barChartRestListener,barChartRestListener));
      path=getBarChartPath(StatsBarChartUnit.MONTH,30);
      barChartRestListener=new BarChartListener(StatsBarChartUnit.MONTH);
      statsNetworkRequests.add(restClientUtils.get(path,barChartRestListener,barChartRestListener));
      path=String.format("String_Node_Str",mBlogId,today);
      TopPostAndPageListener topPostAndPageRestListener=new TopPostAndPageListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,topPostAndPageRestListener,topPostAndPageRestListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      topPostAndPageRestListener=new TopPostAndPageListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,new TopPostAndPageListener(yesterday),topPostAndPageRestListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ReferrersListener referrersListener=new ReferrersListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,referrersListener,referrersListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      referrersListener=new ReferrersListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,referrersListener,referrersListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ClicksListener clicksListener=new ClicksListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,clicksListener,clicksListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      clicksListener=new ClicksListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,clicksListener,clicksListener));
      path=String.format("String_Node_Str",mBlogId,today);
      SearchEngineTermsListener searchEngineTermsListener=new SearchEngineTermsListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,searchEngineTermsListener,searchEngineTermsListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      searchEngineTermsListener=new SearchEngineTermsListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,searchEngineTermsListener,searchEngineTermsListener));
      path=String.format("String_Node_Str",mBlogId,today);
      ViewsByCountryListener viewsByCountryListener=new ViewsByCountryListener(today);
      statsNetworkRequests.add(restClientUtils.get(path,viewsByCountryListener,viewsByCountryListener));
      path=String.format("String_Node_Str",mBlogId,yesterday);
      viewsByCountryListener=new ViewsByCountryListener(yesterday);
      statsNetworkRequests.add(restClientUtils.get(path,viewsByCountryListener,viewsByCountryListener));
      numberOfNetworkCalls=statsNetworkRequests.size();
      while (!isDone()) {
        waitForResponse();
      }
      updateUIExecutor.shutdown();
      mBlogId=null;
      broadcastUpdate(false);
      stopSelf(startId);
    }
  }
;
  orchestrator.start();
}