Program: 91019
Project: 91019
Buggy source:
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,int position){
  final Item item=itemList.get(position);
  int viewType=item.type;
  if (viewType == ACCOUNT_TYPE) {
    AccountViewHolder accountHolder=(AccountViewHolder)holder;
    final WalletAccount account=item.walletAccount;
    builder.buildRecordView(null,account,mbwManager.getSelectedAccount() == account,focusedAccount == account,holder.itemView);
    accountHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        setFocusedAccount(account);
        if (itemSelectListener != null) {
          itemSelectListener.onClick(account);
        }
      }
    }
);
    accountHolder.llAddress.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        setFocusedAccount(account);
        if (itemClickListener != null) {
          itemClickListener.onItemClick(account);
        }
      }
    }
);
  }
 else   if (viewType == GROUP_TITLE_TYPE) {
    GroupTitleViewHolder groupHolder=(GroupTitleViewHolder)holder;
    groupHolder.tvTitle.setText(Html.fromHtml(item.title));
    int count=item.walletAccountList.size();
    groupHolder.tvAccountsCount.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
    groupHolder.tvAccountsCount.setText("String_Node_Str" + count + "String_Node_Str");
    groupHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        boolean isGroupVisible=!pagePrefs.getBoolean(item.title,true);
        pagePrefs.edit().putBoolean(item.title,isGroupVisible).apply();
        updateData();
      }
    }
);
    groupHolder.expandIcon.setRotation(pagePrefs.getBoolean(item.title,true) ? 180 : 0);
    CurrencySum sum=getSpendableBalance(item.walletAccountList);
    if (sum != null) {
      groupHolder.tvBalance.setValue(sum);
      groupHolder.tvBalance.setVisibility(View.VISIBLE);
    }
 else {
      groupHolder.tvBalance.setVisibility(View.GONE);
    }
  }
 else   if (viewType == GROUP_ARCHIVED_TITLE_TYPE) {
    ArchivedGroupTitleViewHolder groupHolder=(ArchivedGroupTitleViewHolder)holder;
    groupHolder.tvTitle.setText(Html.fromHtml(item.title));
    int count=item.walletAccountList.size();
    groupHolder.tvAccountsCount.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
    groupHolder.tvAccountsCount.setText("String_Node_Str" + count + "String_Node_Str");
    groupHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        boolean isGroupVisible=!pagePrefs.getBoolean(item.title,true);
        pagePrefs.edit().putBoolean(item.title,isGroupVisible).apply();
        updateData();
      }
    }
);
  }
 else   if (viewType == TOTAL_BALANCE_TYPE) {
    TotalViewHolder totalHolder=(TotalViewHolder)holder;
    CurrencySum sum=getSpendableBalance(item.walletAccountList);
    if (sum != null) {
      totalHolder.tcdBalance.setValue(sum);
    }
  }
}

Fixed version (ground truth):
@Override public void onBindViewHolder(RecyclerView.ViewHolder holder,int position){
  final Item item=itemList.get(position);
  int viewType=item.type;
  if (viewType == ACCOUNT_TYPE) {
    AccountViewHolder accountHolder=(AccountViewHolder)holder;
    final WalletAccount account=item.walletAccount;
    builder.buildRecordView(null,account,mbwManager.getSelectedAccount() == account,focusedAccount == account,holder.itemView);
    accountHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        setFocusedAccount(account);
        if (itemSelectListener != null) {
          itemSelectListener.onClick(account);
        }
      }
    }
);
    accountHolder.llAddress.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        setFocusedAccount(account);
        if (itemClickListener != null) {
          itemClickListener.onItemClick(account);
        }
      }
    }
);
  }
 else   if (viewType == GROUP_TITLE_TYPE) {
    GroupTitleViewHolder groupHolder=(GroupTitleViewHolder)holder;
    groupHolder.tvTitle.setText(Html.fromHtml(item.title));
    int count=item.walletAccountList.size();
    groupHolder.tvAccountsCount.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
    groupHolder.tvAccountsCount.setText("String_Node_Str" + count + "String_Node_Str");
    groupHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        boolean isGroupVisible=!pagePrefs.getBoolean(item.title,true);
        pagePrefs.edit().putBoolean(item.title,isGroupVisible).apply();
        updateData();
      }
    }
);
    groupHolder.expandIcon.setRotation(pagePrefs.getBoolean(item.title,true) ? 180 : 0);
    CurrencySum sum=getSpendableBalance(item.walletAccountList);
    if (sum != null) {
      groupHolder.tvBalance.setValue(sum);
      groupHolder.tvBalance.setVisibility(View.VISIBLE);
    }
 else {
      groupHolder.tvBalance.setVisibility(View.GONE);
    }
  }
 else   if (viewType == GROUP_ARCHIVED_TITLE_TYPE) {
    ArchivedGroupTitleViewHolder groupHolder=(ArchivedGroupTitleViewHolder)holder;
    groupHolder.tvTitle.setText(Html.fromHtml(item.title));
    int count=item.walletAccountList.size();
    groupHolder.tvAccountsCount.setVisibility(count > 0 ? View.VISIBLE : View.GONE);
    groupHolder.tvAccountsCount.setText("String_Node_Str" + count + "String_Node_Str");
    groupHolder.itemView.setOnClickListener(new View.OnClickListener(){
      @Override public void onClick(      View view){
        boolean isGroupVisible=!pagePrefs.getBoolean(item.title,true);
        pagePrefs.edit().putBoolean(item.title,isGroupVisible).apply();
        updateData();
      }
    }
);
    groupHolder.expandIcon.setRotation(pagePrefs.getBoolean(item.title,true) ? 180 : 0);
  }
 else   if (viewType == TOTAL_BALANCE_TYPE) {
    TotalViewHolder totalHolder=(TotalViewHolder)holder;
    CurrencySum sum=getSpendableBalance(item.walletAccountList);
    if (sum != null) {
      totalHolder.tcdBalance.setValue(sum);
    }
  }
}