Program: 59541
Project: 59541
Buggy source:
public List<Map<String,String>> getDisplayInfo(){
  NumberFormat numberFormat=NumberFormat.getInstance();
  List<Map<String,String>> info=new ArrayList<>();
  for (  String symbol : this.getSortedSymbols()) {
    StockQuote quote=this.mStockData.get(symbol);
    PortfolioStock stock=this.mPortfolioStockMap.get(symbol);
    Map<String,String> itemInfo=new HashMap<>();
    String name="String_Node_Str";
    if (quote != null) {
      if (!stock.getCustomName().equals("String_Node_Str")) {
        name=stock.getCustomName();
        itemInfo.put("String_Node_Str",name);
      }
      if (name.equals("String_Node_Str")) {
        name=quote.getName();
      }
    }
    itemInfo.put("String_Node_Str",name);
    String currentPrice="String_Node_Str";
    if (quote != null)     currentPrice=quote.getPrice();
    itemInfo.put("String_Node_Str",currentPrice);
    itemInfo.put("String_Node_Str","String_Node_Str");
    itemInfo.put("String_Node_Str","String_Node_Str");
    if (!stock.getPrice().equals("String_Node_Str")) {
      String buyPrice=stock.getPrice();
      itemInfo.put("String_Node_Str",buyPrice);
      String date=stock.getDate();
      itemInfo.put("String_Node_Str",date);
      String limitHigh=NumberTools.decimalPlaceFormat(stock.getHighLimit());
      if (limitHigh != null && !limitHigh.equals("String_Node_Str")) {
        itemInfo.put("String_Node_Str","String_Node_Str");
      }
      itemInfo.put("String_Node_Str",limitHigh);
      String limitLow=NumberTools.decimalPlaceFormat(stock.getLowLimit());
      if (limitLow != null && !limitLow.equals("String_Node_Str")) {
        itemInfo.put("String_Node_Str","String_Node_Str");
      }
      itemInfo.put("String_Node_Str",limitLow);
      String quantity=stock.getQuantity();
      itemInfo.put("String_Node_Str",quantity);
      String lastChange="String_Node_Str";
      try {
        if (quote != null) {
          lastChange=quote.getPercent();
          try {
            Double change=numberFormat.parse(quote.getChange()).doubleValue();
            Double totalChange=NumberTools.parseDouble(stock.getQuantity()) * change;
            lastChange+="String_Node_Str" + CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",(totalChange)),symbol);
          }
 catch (          Exception ignored) {
          }
        }
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",lastChange);
      String totalChange="String_Node_Str";
      try {
        Double price=numberFormat.parse(currentPrice).doubleValue();
        Double buy=Double.parseDouble(buyPrice);
        Double totalPercentChange=price - buy;
        totalChange=String.format("String_Node_Str",100 * totalPercentChange / buy) + "String_Node_Str";
        try {
          Double quanta=NumberTools.parseDouble(stock.getQuantity());
          totalChange+="String_Node_Str" + CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",quanta * totalPercentChange),symbol);
        }
 catch (        Exception ignored) {
        }
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",totalChange);
      String holdingValue="String_Node_Str";
      try {
        Double holdingQuanta=NumberTools.parseDouble(stock.getQuantity());
        Double holdingPrice=numberFormat.parse(currentPrice).doubleValue();
        holdingValue=CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",(holdingQuanta * holdingPrice)),symbol);
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",holdingValue);
    }
    itemInfo.put("String_Node_Str",symbol);
    info.add(itemInfo);
  }
  return info;
}

Fixed version (ground truth):
public List<Map<String,String>> getDisplayInfo(){
  NumberFormat numberFormat=NumberFormat.getInstance();
  List<Map<String,String>> info=new ArrayList<>();
  for (  String symbol : this.getSortedSymbols()) {
    StockQuote quote=this.mStockData.get(symbol);
    PortfolioStock stock=this.getStock(symbol);
    Map<String,String> itemInfo=new HashMap<>();
    String name="String_Node_Str";
    if (quote != null) {
      if (!stock.getCustomName().equals("String_Node_Str")) {
        name=stock.getCustomName();
        itemInfo.put("String_Node_Str",name);
      }
      if (name.equals("String_Node_Str")) {
        name=quote.getName();
      }
    }
    itemInfo.put("String_Node_Str",name);
    String currentPrice="String_Node_Str";
    if (quote != null)     currentPrice=quote.getPrice();
    itemInfo.put("String_Node_Str",currentPrice);
    itemInfo.put("String_Node_Str","String_Node_Str");
    itemInfo.put("String_Node_Str","String_Node_Str");
    if (!stock.getPrice().equals("String_Node_Str")) {
      String buyPrice=stock.getPrice();
      itemInfo.put("String_Node_Str",buyPrice);
      String date=stock.getDate();
      itemInfo.put("String_Node_Str",date);
      String limitHigh=NumberTools.decimalPlaceFormat(stock.getHighLimit());
      if (limitHigh != null && !limitHigh.equals("String_Node_Str")) {
        itemInfo.put("String_Node_Str","String_Node_Str");
      }
      itemInfo.put("String_Node_Str",limitHigh);
      String limitLow=NumberTools.decimalPlaceFormat(stock.getLowLimit());
      if (limitLow != null && !limitLow.equals("String_Node_Str")) {
        itemInfo.put("String_Node_Str","String_Node_Str");
      }
      itemInfo.put("String_Node_Str",limitLow);
      String quantity=stock.getQuantity();
      itemInfo.put("String_Node_Str",quantity);
      String lastChange="String_Node_Str";
      try {
        if (quote != null) {
          lastChange=quote.getPercent();
          try {
            Double change=numberFormat.parse(quote.getChange()).doubleValue();
            Double totalChange=NumberTools.parseDouble(stock.getQuantity()) * change;
            lastChange+="String_Node_Str" + CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",(totalChange)),symbol);
          }
 catch (          Exception ignored) {
          }
        }
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",lastChange);
      String totalChange="String_Node_Str";
      try {
        Double price=numberFormat.parse(currentPrice).doubleValue();
        Double buy=Double.parseDouble(buyPrice);
        Double totalPercentChange=price - buy;
        totalChange=String.format("String_Node_Str",100 * totalPercentChange / buy) + "String_Node_Str";
        try {
          Double quanta=NumberTools.parseDouble(stock.getQuantity());
          totalChange+="String_Node_Str" + CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",quanta * totalPercentChange),symbol);
        }
 catch (        Exception ignored) {
        }
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",totalChange);
      String holdingValue="String_Node_Str";
      try {
        Double holdingQuanta=NumberTools.parseDouble(stock.getQuantity());
        Double holdingPrice=numberFormat.parse(currentPrice).doubleValue();
        holdingValue=CurrencyTools.addCurrencyToSymbol(String.format("String_Node_Str",(holdingQuanta * holdingPrice)),symbol);
      }
 catch (      Exception ignored) {
      }
      itemInfo.put("String_Node_Str",holdingValue);
    }
    itemInfo.put("String_Node_Str",symbol);
    info.add(itemInfo);
  }
  return info;
}