Program: 91025
Project: 91025
Buggy source:
private void initFeeLvlView(){
  feeLvlList.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
  List<MinerFee> fees=Arrays.asList(MinerFee.values());
  List<FeeLvlItem> feeLvlItems=new ArrayList<>();
  feeLvlItems.add(new FeeLvlItem(null,null,SelectableRecyclerView.Adapter.VIEW_TYPE_PADDING));
  for (  MinerFee fee : fees) {
    String duration=Utils.formatBlockcountAsApproxDuration(this,fee.getNBlocks());
    feeLvlItems.add(new FeeLvlItem(fee,"String_Node_Str" + duration,SelectableRecyclerView.Adapter.VIEW_TYPE_ITEM));
  }
  feeLvlItems.add(new FeeLvlItem(null,null,SelectableRecyclerView.Adapter.VIEW_TYPE_PADDING));
  final FeeLvlViewAdapter feeLvlViewAdapter=new FeeLvlViewAdapter(feeLvlItems,feeFirstItemWidth);
  feeLvlList.setSelectListener(new SelectListener(){
    @Override public void onSelect(    RecyclerView.Adapter adapter,    int position){
      FeeLvlItem item=((FeeLvlViewAdapter)adapter).getItem(position);
      feeLvl=item.minerFee;
      feePerKbValue=feeLvl.getFeePerKb(feeEstimation).getLongValue();
      _transactionStatus=tryCreateUnsignedTransaction();
      List<FeeItem> feeItems=feeItemsBuilder.getFeeItemList(feeLvl,estimateTxSize());
      feeViewAdapter.setDataset(feeItems);
      feeValueList.setSelectedItem(new FeeItem(feePerKbValue,null,null,FeeViewAdapter.VIEW_TYPE_ITEM));
    }
  }
);
  feeLvlList.setAdapter(feeLvlViewAdapter);
  int selectedIndex=-1;
  for (int i=0; i < feeLvlItems.size(); i++) {
    FeeLvlItem feeLvlItem=feeLvlItems.get(i);
    if (feeLvlItem.minerFee == _mbwManager.getMinerFee()) {
      selectedIndex=i;
      break;
    }
  }
  feeLvlList.setSelectedItem(selectedIndex);
  feeLvlList.setHasFixedSize(true);
}

Fixed version (ground truth):
private void initFeeLvlView(){
  feeLvlList.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.HORIZONTAL,false));
  feeLvlList.setHasFixedSize(true);
  List<MinerFee> fees=Arrays.asList(MinerFee.values());
  List<FeeLvlItem> feeLvlItems=new ArrayList<>();
  feeLvlItems.add(new FeeLvlItem(null,null,SelectableRecyclerView.Adapter.VIEW_TYPE_PADDING));
  for (  MinerFee fee : fees) {
    String duration=Utils.formatBlockcountAsApproxDuration(this,fee.getNBlocks());
    feeLvlItems.add(new FeeLvlItem(fee,"String_Node_Str" + duration,SelectableRecyclerView.Adapter.VIEW_TYPE_ITEM));
  }
  feeLvlItems.add(new FeeLvlItem(null,null,SelectableRecyclerView.Adapter.VIEW_TYPE_PADDING));
  final FeeLvlViewAdapter feeLvlViewAdapter=new FeeLvlViewAdapter(feeLvlItems,feeFirstItemWidth);
  feeLvlList.setAdapter(feeLvlViewAdapter);
  int selectedIndex=-1;
  for (int i=0; i < feeLvlItems.size(); i++) {
    FeeLvlItem feeLvlItem=feeLvlItems.get(i);
    if (feeLvlItem.minerFee == _mbwManager.getMinerFee()) {
      selectedIndex=i;
      break;
    }
  }
  feeLvlList.setSelectListener(new SelectListener(){
    @Override public void onSelect(    RecyclerView.Adapter adapter,    int position){
      FeeLvlItem item=((FeeLvlViewAdapter)adapter).getItem(position);
      feeLvl=item.minerFee;
      feePerKbValue=feeLvl.getFeePerKb(feeEstimation).getLongValue();
      _transactionStatus=tryCreateUnsignedTransaction();
      List<FeeItem> feeItems=feeItemsBuilder.getFeeItemList(feeLvl,estimateTxSize());
      feeViewAdapter.setDataset(feeItems);
      feeValueList.setSelectedItem(new FeeItem(feePerKbValue,null,null,FeeViewAdapter.VIEW_TYPE_ITEM));
    }
  }
);
  feeLvlList.setSelectedItem(selectedIndex);
}