Program: 131020
Project: 131020
Buggy source:
@Override public View getView(int position,View view,ViewGroup parent){
  int type=getItemViewType(position);
  Object value=values.get(position);
  ViewHolder viewHolder;
  if (view == null) {
    viewHolder=new ViewHolder();
    if (type == TYPE_ACTION) {
      view=inflater.inflate(R.layout.action_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textView);
      viewHolder.title.setTextColor(view.getResources().getColor(R.color.orange1));
      viewHolder.image=(ImageView)view.findViewById(R.id.imageView);
      viewHolder.image.setImageResource(R.drawable.back);
    }
 else     if (type == TYPE_DIRECTORY) {
      view=inflater.inflate(R.layout.folder_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textViewFolderItemFolder);
    }
 else     if (type == TYPE_SONG) {
      view=inflater.inflate(R.layout.song_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textViewSongItemTitle);
      viewHolder.artist=(TextView)view.findViewById(R.id.textViewSongItemArtist);
      viewHolder.image=(ImageView)view.findViewById(R.id.imageViewItemImage);
      viewHolder.card=view.findViewById(R.id.card);
    }
  }
 else {
    viewHolder=(ViewHolder)view.getTag();
  }
  if (type == TYPE_ACTION) {
    Action action=(Action)value;
    viewHolder.title.setText(action.msg);
  }
 else   if (type == TYPE_DIRECTORY) {
    File file=(File)value;
    viewHolder.title.setText(file.getName());
  }
 else   if (type == TYPE_SONG) {
    BrowserSong song=(BrowserSong)value;
    String trackNumber="String_Node_Str";
    if (song.getTrackNumber() != null)     trackNumber=song.getTrackNumber() + "String_Node_Str";
    viewHolder.title.setText(trackNumber + song.getTitle());
    viewHolder.artist.setText(song.getArtist());
    if (song.equals(playingSong)) {
      viewHolder.card.setBackgroundResource(R.drawable.card_playing);
      viewHolder.image.setImageResource(R.drawable.play_orange);
    }
 else {
      viewHolder.card.setBackgroundResource(R.drawable.card);
      if (song.hasImage()) {
        imagesCache.getImageAsync(song,viewHolder.image);
      }
    }
  }
  view.setTag(viewHolder);
  return view;
}

Fixed version (ground truth):
@Override public View getView(int position,View view,ViewGroup parent){
  int type=getItemViewType(position);
  Object value=values.get(position);
  ViewHolder viewHolder;
  if (view == null) {
    viewHolder=new ViewHolder();
    if (type == TYPE_ACTION) {
      view=inflater.inflate(R.layout.action_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textView);
      viewHolder.title.setTextColor(view.getResources().getColor(R.color.orange1));
      viewHolder.image=(ImageView)view.findViewById(R.id.imageView);
      viewHolder.image.setImageResource(R.drawable.back);
    }
 else     if (type == TYPE_DIRECTORY) {
      view=inflater.inflate(R.layout.folder_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textViewFolderItemFolder);
    }
 else     if (type == TYPE_SONG) {
      view=inflater.inflate(R.layout.song_item,parent,false);
      viewHolder.title=(TextView)view.findViewById(R.id.textViewSongItemTitle);
      viewHolder.artist=(TextView)view.findViewById(R.id.textViewSongItemArtist);
      viewHolder.image=(ImageView)view.findViewById(R.id.imageViewItemImage);
      viewHolder.card=view.findViewById(R.id.card);
    }
  }
 else {
    viewHolder=(ViewHolder)view.getTag();
  }
  if (type == TYPE_ACTION) {
    Action action=(Action)value;
    viewHolder.title.setText(action.msg);
  }
 else   if (type == TYPE_DIRECTORY) {
    File file=(File)value;
    viewHolder.title.setText(file.getName());
  }
 else   if (type == TYPE_SONG) {
    BrowserSong song=(BrowserSong)value;
    String trackNumber="String_Node_Str";
    if (song.getTrackNumber() != null)     trackNumber=song.getTrackNumber() + "String_Node_Str";
    viewHolder.title.setText(trackNumber + song.getTitle());
    viewHolder.artist.setText(song.getArtist());
    if (song.equals(playingSong)) {
      viewHolder.card.setBackgroundResource(R.drawable.card_playing);
      viewHolder.image.setImageResource(R.drawable.play_orange);
    }
 else {
      viewHolder.card.setBackgroundResource(R.drawable.card);
      viewHolder.image.setImageDrawable(songImage);
      if (song.hasImage()) {
        imagesCache.getImageAsync(song,viewHolder.image);
      }
    }
  }
  view.setTag(viewHolder);
  return view;
}