Program: 87466
Project: 87466
Buggy source:
private void loadDevi(){
  ArrayList<String> lineList=new ArrayList<String>();
{
    final int count=realtimeList.getCount();
    for (int i=0; i < count; i++) {
      final RealtimeData realtimeData=realtimeList.getItem(i);
      if (!lineList.contains(realtimeData.line)) {
        lineList.add(realtimeData.line);
      }
    }
  }
  StringBuffer deviLines=new StringBuffer();
{
    final int count=lineList.size();
    for (int i=0; i < count; i++) {
      if (i > 0) {
        deviLines.append("String_Node_Str");
      }
      deviLines.append(lineList.get(i));
    }
  }
  tracker.trackEvent("String_Node_Str","String_Node_Str","String_Node_Str",0);
  deviProvider=new TrafikantenDevi(this,station.stationId,deviLines.toString(),new IGenericProviderHandler<DeviData>(){
    @Override public void onExtra(    int what,    Object obj){
    }
    @Override public void onData(    DeviData deviData){
      for (      final String deviName : deviData.stops) {
        if (deviName.equals(station.stopName)) {
          deviItems.add(deviData);
          break;
        }
      }
      realtimeList.addDeviItem(deviData);
      realtimeList.itemsAddedWithoutNotify++;
      if (realtimeList.itemsAddedWithoutNotify > 5) {
        realtimeList.itemsAddedWithoutNotify=0;
        realtimeList.notifyDataSetChanged();
      }
    }
    @Override public void onPostExecute(    Exception exception){
      setProgressBarIndeterminateVisibility(false);
      finishedLoading=true;
      deviProvider=null;
      if (exception != null) {
        Log.w(TAG,"String_Node_Str" + exception);
        if (exception.getClass().getSimpleName().equals("String_Node_Str")) {
          Toast.makeText(RealtimeView.this,R.string.trafikantenErrorParse,Toast.LENGTH_LONG).show();
        }
 else {
          Toast.makeText(RealtimeView.this,R.string.trafikantenErrorOther,Toast.LENGTH_LONG).show();
        }
      }
 else {
        refreshDevi();
        if (realtimeList.itemsAddedWithoutNotify > 0) {
          realtimeList.itemsAddedWithoutNotify=0;
          realtimeList.notifyDataSetChanged();
        }
      }
    }
    @Override public void onPreExecute(){
      try {
        tracker.dispatch();
      }
 catch (      Exception e) {
      }
      setProgressBarIndeterminateVisibility(true);
    }
  }
);
}

Fixed version (ground truth):
private void loadDevi(){
  ArrayList<String> lineList=new ArrayList<String>();
{
    final int count=realtimeList.getCount();
    for (int i=0; i < count; i++) {
      final RealtimeData realtimeData=realtimeList.getItem(i);
      if (!lineList.contains(realtimeData.line)) {
        lineList.add(realtimeData.line);
      }
    }
  }
  StringBuffer deviLines=new StringBuffer();
{
    final int count=lineList.size();
    for (int i=0; i < count; i++) {
      if (i > 0) {
        deviLines.append("String_Node_Str");
      }
      deviLines.append(lineList.get(i));
    }
  }
  tracker.trackEvent("String_Node_Str","String_Node_Str","String_Node_Str",0);
  try {
    tracker.dispatch();
  }
 catch (  Exception e) {
  }
  deviProvider=new TrafikantenDevi(this,station.stationId,deviLines.toString(),new IGenericProviderHandler<DeviData>(){
    @Override public void onExtra(    int what,    Object obj){
    }
    @Override public void onData(    DeviData deviData){
      for (      final String deviName : deviData.stops) {
        if (deviName.equals(station.stopName)) {
          deviItems.add(deviData);
          break;
        }
      }
      realtimeList.addDeviItem(deviData);
      realtimeList.itemsAddedWithoutNotify++;
      if (realtimeList.itemsAddedWithoutNotify > 5) {
        realtimeList.itemsAddedWithoutNotify=0;
        realtimeList.notifyDataSetChanged();
      }
    }
    @Override public void onPostExecute(    Exception exception){
      setProgressBarIndeterminateVisibility(false);
      finishedLoading=true;
      deviProvider=null;
      if (exception != null) {
        Log.w(TAG,"String_Node_Str" + exception);
        if (exception.getClass().getSimpleName().equals("String_Node_Str")) {
          Toast.makeText(RealtimeView.this,R.string.trafikantenErrorParse,Toast.LENGTH_LONG).show();
        }
 else {
          Toast.makeText(RealtimeView.this,R.string.trafikantenErrorOther,Toast.LENGTH_LONG).show();
        }
      }
 else {
        refreshDevi();
        if (realtimeList.itemsAddedWithoutNotify > 0) {
          realtimeList.itemsAddedWithoutNotify=0;
          realtimeList.notifyDataSetChanged();
        }
      }
    }
    @Override public void onPreExecute(){
      setProgressBarIndeterminateVisibility(true);
    }
  }
);
}