Program: 111761
Project: 111761
Buggy source:
@Override protected void onPostExecute(DetailsOverviewRow detailRow){
  ClassPresenterSelector ps=new ClassPresenterSelector();
  DetailsOverviewRowPresenter dorPresenter=new DetailsOverviewRowPresenter(new DetailsDescriptionPresenter());
  dorPresenter.setBackgroundColor(getResources().getColor(R.color.detail_background));
  dorPresenter.setStyleLarge(true);
  dorPresenter.setOnActionClickedListener(new OnActionClickedListener(){
    @Override public void onActionClicked(    Action action){
      if (action.getId() == ACTION_WATCH_TRAILER) {
        Intent intent=new Intent(getActivity(),PlayerActivity.class);
        intent.putExtra(getResources().getString(R.string.movie),selectedMovie);
        intent.putExtra(getResources().getString(R.string.should_start),true);
        startActivity(intent);
      }
 else {
        Toast.makeText(getActivity(),action.toString(),Toast.LENGTH_SHORT).show();
      }
    }
  }
);
  ps.addClassPresenter(DetailsOverviewRow.class,dorPresenter);
  ps.addClassPresenter(ListRow.class,new ListRowPresenter());
  ArrayObjectAdapter adapter=new ArrayObjectAdapter(ps);
  adapter.add(detailRow);
  String subcategories[]={getString(R.string.related_movies)};
  HashMap<String,List<Movie>> movies=VideoProvider.getMovieList();
  ArrayObjectAdapter listRowAdapter=new ArrayObjectAdapter(new CardPresenter());
  for (  HashMap.Entry<String,List<Movie>> entry : movies.entrySet()) {
    if (selectedMovie.getCategory().indexOf(entry.getKey()) >= 0) {
      List<Movie> list=entry.getValue();
      for (int j=0; j < list.size(); j++) {
        listRowAdapter.add(list.get(j));
      }
    }
  }
  HeaderItem header=new HeaderItem(0,subcategories[0],null);
  adapter.add(new ListRow(header,listRowAdapter));
  setAdapter(adapter);
}

Fixed version (ground truth):
@Override protected void onPostExecute(DetailsOverviewRow detailRow){
  ClassPresenterSelector ps=new ClassPresenterSelector();
  DetailsOverviewRowPresenter dorPresenter=new DetailsOverviewRowPresenter(new DetailsDescriptionPresenter());
  dorPresenter.setBackgroundColor(getResources().getColor(R.color.detail_background));
  dorPresenter.setStyleLarge(true);
  dorPresenter.setOnActionClickedListener(new OnActionClickedListener(){
    @Override public void onActionClicked(    Action action){
      if (action.getId() == ACTION_WATCH_TRAILER) {
        Intent intent=new Intent(getActivity(),PlayerActivity.class);
        intent.putExtra(getResources().getString(R.string.movie),selectedMovie);
        intent.putExtra(getResources().getString(R.string.should_start),true);
        startActivity(intent);
      }
 else {
        Toast.makeText(getActivity(),action.toString(),Toast.LENGTH_SHORT).show();
      }
    }
  }
);
  ps.addClassPresenter(DetailsOverviewRow.class,dorPresenter);
  ps.addClassPresenter(ListRow.class,new ListRowPresenter());
  ArrayObjectAdapter adapter=new ArrayObjectAdapter(ps);
  adapter.add(detailRow);
  String subcategories[]={getString(R.string.related_movies)};
  HashMap<String,List<Movie>> movies=VideoProvider.getMovieList();
  ArrayObjectAdapter listRowAdapter=new ArrayObjectAdapter(new CardPresenter());
  for (  Map.Entry<String,List<Movie>> entry : movies.entrySet()) {
    if (selectedMovie.getCategory().indexOf(entry.getKey()) >= 0) {
      List<Movie> list=entry.getValue();
      for (int j=0; j < list.size(); j++) {
        listRowAdapter.add(list.get(j));
      }
    }
  }
  HeaderItem header=new HeaderItem(0,subcategories[0],null);
  adapter.add(new ListRow(header,listRowAdapter));
  setAdapter(adapter);
}