Program: 112556
Project: 112556
Buggy source:
private void bindView(View row,WalletAccount account){
  final ImageView icon=(ImageView)row.findViewById(R.id.account_icon);
  icon.setImageResource(Constants.COINS_ICONS.get(account.getCoinType()));
  final TextView rowLabel=(TextView)row.findViewById(R.id.account_description);
  rowLabel.setText(account.getDescription());
  final Amount rowValue=(Amount)row.findViewById(R.id.account_balance);
  rowValue.setAmount(GenericUtils.formatFiatValue(account.getBalance(),4,0));
  rowValue.setSymbol(account.getCoinType().getSymbol());
  ExchangeRatesProvider.ExchangeRate rate=rates.get(account.getCoinType().getSymbol());
  final Amount rowBalanceRateValue=(Amount)row.findViewById(R.id.account_balance_rate);
  if (rate != null && account.getCoinType() != null) {
    Value localAmount=rate.rate.convert(account.getBalance());
    GenericUtils.formatCoinValue(localAmount.type,localAmount,true);
    rowBalanceRateValue.setAmount(GenericUtils.formatFiatValue(localAmount,2,0));
    rowBalanceRateValue.setSymbol(localAmount.type.getSymbol());
    rowBalanceRateValue.setVisibility(View.VISIBLE);
  }
 else {
    rowBalanceRateValue.setVisibility(View.GONE);
  }
  final Amount rowRateValue=(Amount)row.findViewById(R.id.exchange_rate_row_rate);
  if (rate != null && account.getCoinType() != null) {
    Value localAmount=rate.rate.convert(account.getCoinType().oneCoin());
    GenericUtils.formatCoinValue(localAmount.type,localAmount,true);
    rowRateValue.setAmount(GenericUtils.formatFiatValue(localAmount,2,0));
    rowRateValue.setSymbol(localAmount.type.getSymbol());
    rowRateValue.setVisibility(View.VISIBLE);
  }
 else {
    rowRateValue.setVisibility(View.GONE);
  }
}

Fixed version (ground truth):
private void bindView(View row,WalletAccount account){
  final ImageView icon=(ImageView)row.findViewById(R.id.account_icon);
  icon.setImageResource(Constants.COINS_ICONS.get(account.getCoinType()));
  final TextView rowLabel=(TextView)row.findViewById(R.id.account_description);
  rowLabel.setText(account.getDescriptionOrCoinName());
  final Amount rowValue=(Amount)row.findViewById(R.id.account_balance);
  rowValue.setAmount(GenericUtils.formatFiatValue(account.getBalance(),4,0));
  rowValue.setSymbol(account.getCoinType().getSymbol());
  ExchangeRatesProvider.ExchangeRate rate=rates.get(account.getCoinType().getSymbol());
  final Amount rowBalanceRateValue=(Amount)row.findViewById(R.id.account_balance_rate);
  if (rate != null && account.getCoinType() != null) {
    Value localAmount=rate.rate.convert(account.getBalance());
    GenericUtils.formatCoinValue(localAmount.type,localAmount,true);
    rowBalanceRateValue.setAmount(GenericUtils.formatFiatValue(localAmount,2,0));
    rowBalanceRateValue.setSymbol(localAmount.type.getSymbol());
    rowBalanceRateValue.setVisibility(View.VISIBLE);
  }
 else {
    rowBalanceRateValue.setVisibility(View.GONE);
  }
  final Amount rowRateValue=(Amount)row.findViewById(R.id.exchange_rate_row_rate);
  if (rate != null && account.getCoinType() != null) {
    Value localAmount=rate.rate.convert(account.getCoinType().oneCoin());
    GenericUtils.formatCoinValue(localAmount.type,localAmount,true);
    rowRateValue.setAmount(GenericUtils.formatFiatValue(localAmount,2,0));
    rowRateValue.setSymbol(localAmount.type.getSymbol());
    rowRateValue.setVisibility(View.VISIBLE);
  }
 else {
    rowRateValue.setVisibility(View.GONE);
  }
}