Program: 62949
Project: 62949
Buggy source:
@Override public void bind(Context context,ViewHolder viewHolder){
  if (contributorsTitle != null)   viewHolder.titleView.setText(ResourceUtils.getString(context,contributorsTitle));
  ContributorInfoData first=null, second=null, third=null;
  List<InfoData> remainingContributors=new ArrayList<>();
  for (  ContributorInfoData contributor : contributors) {
    if (contributor.position != null) {
      if (first == null && contributor.position == 1) {
        first=contributor;
        continue;
      }
 else       if (second == null && contributor.position == 2) {
        second=contributor;
        continue;
      }
 else       if (third == null && contributor.position == 3) {
        third=contributor;
        continue;
      }
    }
    remainingContributors.add(contributor);
  }
  if (first != null && second != null && third != null) {
    viewHolder.topThreeView.setVisibility(View.VISIBLE);
    viewHolder.firstNameView.setText(ResourceUtils.getString(context,first.getName()));
    ResourceUtils.setImage(context,first.avatarUrl,viewHolder.firstImageView);
    if (first.task != null) {
      viewHolder.firstTaskView.setVisibility(View.VISIBLE);
      viewHolder.firstTaskView.setText(ResourceUtils.getString(context,first.task));
    }
 else     viewHolder.firstTaskView.setVisibility(View.GONE);
    viewHolder.firstView.setTag(first);
    viewHolder.firstView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
    viewHolder.secondNameView.setText(ResourceUtils.getString(context,second.getName()));
    ResourceUtils.setImage(context,second.avatarUrl,viewHolder.secondImageView);
    if (second.task != null) {
      viewHolder.secondTaskView.setVisibility(View.VISIBLE);
      viewHolder.secondTaskView.setText(ResourceUtils.getString(context,second.task));
    }
 else     viewHolder.secondTaskView.setVisibility(View.GONE);
    viewHolder.secondView.setTag(second);
    viewHolder.secondView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
    viewHolder.thirdNameView.setText(ResourceUtils.getString(context,third.getName()));
    ResourceUtils.setImage(context,third.avatarUrl,viewHolder.thirdImageView);
    if (third.task != null) {
      viewHolder.thirdTaskView.setVisibility(View.VISIBLE);
      viewHolder.thirdTaskView.setText(ResourceUtils.getString(context,third.task));
    }
 else     viewHolder.thirdTaskView.setVisibility(View.GONE);
    viewHolder.thirdView.setTag(third);
    viewHolder.thirdView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
  }
 else {
    viewHolder.topThreeView.setVisibility(View.GONE);
    if (third != null)     remainingContributors.add(0,third);
    if (second != null)     remainingContributors.add(0,second);
    if (first != null)     remainingContributors.add(0,first);
  }
  if (remainingContributors.size() > 0) {
    viewHolder.recycler.setVisibility(View.VISIBLE);
    viewHolder.recycler.setLayoutManager(new LinearLayoutManager(context));
    viewHolder.recycler.setAdapter(new InfoAdapter(remainingContributors));
  }
 else   viewHolder.recycler.setVisibility(View.GONE);
}

Fixed version (ground truth):
@Override public void bind(Context context,ViewHolder viewHolder){
  if (contributorsTitle != null)   viewHolder.titleView.setText(ResourceUtils.getString(context,contributorsTitle));
  ContributorInfoData first=null, second=null, third=null;
  List<InfoData> remainingContributors=new ArrayList<>();
  for (  ContributorInfoData contributor : contributors) {
    if (contributor.isHidden)     continue;
    if (contributor.position != null) {
      if (first == null && contributor.position == 1) {
        first=contributor;
        continue;
      }
 else       if (second == null && contributor.position == 2) {
        second=contributor;
        continue;
      }
 else       if (third == null && contributor.position == 3) {
        third=contributor;
        continue;
      }
    }
    remainingContributors.add(contributor);
  }
  if (first != null && second != null && third != null) {
    viewHolder.topThreeView.setVisibility(View.VISIBLE);
    viewHolder.firstNameView.setText(ResourceUtils.getString(context,first.getName()));
    ResourceUtils.setImage(context,first.avatarUrl,viewHolder.firstImageView);
    if (first.task != null) {
      viewHolder.firstTaskView.setVisibility(View.VISIBLE);
      viewHolder.firstTaskView.setText(ResourceUtils.getString(context,first.task));
    }
 else     viewHolder.firstTaskView.setVisibility(View.GONE);
    viewHolder.firstView.setTag(first);
    viewHolder.firstView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
    viewHolder.secondNameView.setText(ResourceUtils.getString(context,second.getName()));
    ResourceUtils.setImage(context,second.avatarUrl,viewHolder.secondImageView);
    if (second.task != null) {
      viewHolder.secondTaskView.setVisibility(View.VISIBLE);
      viewHolder.secondTaskView.setText(ResourceUtils.getString(context,second.task));
    }
 else     viewHolder.secondTaskView.setVisibility(View.GONE);
    viewHolder.secondView.setTag(second);
    viewHolder.secondView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
    viewHolder.thirdNameView.setText(ResourceUtils.getString(context,third.getName()));
    ResourceUtils.setImage(context,third.avatarUrl,viewHolder.thirdImageView);
    if (third.task != null) {
      viewHolder.thirdTaskView.setVisibility(View.VISIBLE);
      viewHolder.thirdTaskView.setText(ResourceUtils.getString(context,third.task));
    }
 else     viewHolder.thirdTaskView.setVisibility(View.GONE);
    viewHolder.thirdView.setTag(third);
    viewHolder.thirdView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        new UserDialog(view.getContext(),(ContributorInfoData)view.getTag()).show();
      }
    }
);
  }
 else {
    viewHolder.topThreeView.setVisibility(View.GONE);
    if (third != null)     remainingContributors.add(0,third);
    if (second != null)     remainingContributors.add(0,second);
    if (first != null)     remainingContributors.add(0,first);
  }
  if (remainingContributors.size() > 0) {
    viewHolder.recycler.setVisibility(View.VISIBLE);
    viewHolder.recycler.setLayoutManager(new LinearLayoutManager(context));
    viewHolder.recycler.setAdapter(new InfoAdapter(remainingContributors));
  }
 else   viewHolder.recycler.setVisibility(View.GONE);
}