Program: 55537
Project: 55537
Buggy source:
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,final int position){
  Context context=holder.itemView.getContext();
  holder.itemView.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      if (listener != null)       listener.onClick(position);
    }
  }
);
  DrawerItem drawerItem=drawerItems.get(position);
switch (drawerItem.getType()) {
case HEADER:
    DrawerHeader drawerHeader=(DrawerHeader)drawerItem;
  if (drawerHeader.getUser() != null) {
    HeaderViewHolder headerViewHolder=(HeaderViewHolder)holder;
    String userFullName=drawerHeader.getUser().getLastName() == null || drawerHeader.getUser().getLastName().trim().isEmpty() ? drawerHeader.getUser().getName() : new StringBuilder().append(drawerHeader.getUser().getName()).append("String_Node_Str").append(drawerHeader.getUser().getLastName()).toString();
    headerViewHolder.userNameTextView.setText(userFullName);
    Picasso.with(context).load(drawerHeader.getUser().getPhotoUrl()).placeholder(R.drawable.ic_contact_picture).into(headerViewHolder.profileImageView);
  }
break;
case OPTION:
DrawerOption drawerOption=(DrawerOption)drawerItem;
OptionViewHolder optionViewHolder=(OptionViewHolder)holder;
optionViewHolder.nameTextView.setText(drawerOption.getNameRes());
if (selectedPosition != null && selectedPosition == position) {
optionViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.selected_background));
optionViewHolder.nameTextView.setTextColor(context.getResources().getColor(R.color.primary_selected_text));
Drawable selectedIcon=context.getDrawable(drawerOption.getSelectedIconRes());
selectedIcon.mutate().setColorFilter(context.getResources().getColor(R.color.selected_icon),PorterDuff.Mode.SRC_IN);
optionViewHolder.iconImageView.setImageDrawable(selectedIcon);
}
 else {
optionViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.unselected_background));
optionViewHolder.nameTextView.setTextColor(context.getResources().getColor(R.color.primary_text));
optionViewHolder.iconImageView.setImageResource(drawerOption.getUnselectedIconRes());
}
break;
case OPTION_HEADER:
DrawerOptionHeader drawerOptionHeader=(DrawerOptionHeader)drawerItem;
OptionHeaderViewHolder optionHeaderViewHolder=(OptionHeaderViewHolder)holder;
optionHeaderViewHolder.nameTextView.setText(drawerOptionHeader.getNameRes());
break;
}
}

Fixed version (ground truth):
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,final int position){
  Context context=holder.itemView.getContext();
  holder.itemView.setOnClickListener(new View.OnClickListener(){
    @Override public void onClick(    View view){
      if (listener != null)       listener.onClick(position);
    }
  }
);
  DrawerItem drawerItem=drawerItems.get(position);
switch (drawerItem.getType()) {
case HEADER:
    DrawerHeader drawerHeader=(DrawerHeader)drawerItem;
  if (drawerHeader.getUser() != null) {
    HeaderViewHolder headerViewHolder=(HeaderViewHolder)holder;
    String userFullName=drawerHeader.getUser().getLastName() == null || drawerHeader.getUser().getLastName().trim().isEmpty() ? drawerHeader.getUser().getName() : new StringBuilder().append(drawerHeader.getUser().getName()).append("String_Node_Str").append(drawerHeader.getUser().getLastName()).toString();
    headerViewHolder.userNameTextView.setText(userFullName);
    Picasso.with(context).load(drawerHeader.getUser().getPhotoUrl()).placeholder(R.drawable.ic_contact_picture).into(headerViewHolder.profileImageView);
  }
break;
case OPTION:
DrawerOption drawerOption=(DrawerOption)drawerItem;
OptionViewHolder optionViewHolder=(OptionViewHolder)holder;
optionViewHolder.nameTextView.setText(drawerOption.getNameRes());
if (selectedPosition != null && selectedPosition == position) {
optionViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.selected_background));
optionViewHolder.nameTextView.setTextColor(context.getResources().getColor(R.color.primary_selected_text));
Drawable selectedIcon=context.getResources().getDrawable(drawerOption.getSelectedIconRes());
selectedIcon.mutate().setColorFilter(context.getResources().getColor(R.color.selected_icon),PorterDuff.Mode.SRC_IN);
optionViewHolder.iconImageView.setImageDrawable(selectedIcon);
}
 else {
optionViewHolder.itemView.setBackgroundColor(context.getResources().getColor(R.color.unselected_background));
optionViewHolder.nameTextView.setTextColor(context.getResources().getColor(R.color.primary_text));
optionViewHolder.iconImageView.setImageResource(drawerOption.getUnselectedIconRes());
}
break;
case OPTION_HEADER:
DrawerOptionHeader drawerOptionHeader=(DrawerOptionHeader)drawerItem;
OptionHeaderViewHolder optionHeaderViewHolder=(OptionHeaderViewHolder)holder;
optionHeaderViewHolder.nameTextView.setText(drawerOptionHeader.getNameRes());
break;
}
}