Program: 134687
Project: 134687
Buggy source:
@Override public List<PanelString> getStringData(int displaySettings,ICardWrapper card,boolean showLabels){
  List<PanelString> result=new LinkedList<PanelString>();
  PanelString line;
  double totalEnergy=0;
  double totalStorage=0;
  boolean showEach=(displaySettings & DISPLAY_EACH) > 0;
  boolean showSummary=(displaySettings & DISPLAY_TOTAL) > 0;
  boolean showEnergy=(displaySettings & DISPLAY_ENERGY) > 0;
  boolean showFree=(displaySettings & DISPLAY_FREE) > 0;
  boolean showStorage=(displaySettings & DISPLAY_STORAGE) > 0;
  boolean showPercentage=(displaySettings & DISPLAY_PERCENTAGE) > 0;
  int cardCount=getCardCount(card);
  for (int i=0; i < cardCount; i++) {
    int energy=card.getInt(String.format("String_Node_Str",i));
    int storage=card.getInt(String.format("String_Node_Str",i));
    boolean isOutOfRange=energy == STATUS_OUT_OF_RANGE;
    boolean isNotFound=energy == STATUS_NOT_FOUND;
    if (showSummary && !isOutOfRange && !isNotFound) {
      totalEnergy+=energy;
      totalStorage+=storage;
    }
    if (showEach) {
      if (isOutOfRange) {
        line=new PanelString();
        line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1);
        result.add(line);
      }
 else       if (isNotFound) {
        line=new PanelString();
        line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1);
        result.add(line);
      }
 else {
        if (showEnergy) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",energy,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",energy,false);
          result.add(line);
        }
        if (showFree) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage - energy,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage - energy,false);
          result.add(line);
        }
        if (showStorage) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage,false);
          result.add(line);
        }
        if (showPercentage) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage == 0 ? 100 : (((double)energy) * 100L / storage),false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage == 0 ? 100 : (((double)energy) * 100L / storage),false);
          result.add(line);
        }
      }
    }
  }
  if (showSummary) {
    if (showEnergy) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalEnergy,showLabels);
      result.add(line);
    }
    if (showFree) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage - totalEnergy,showLabels);
      result.add(line);
    }
    if (showStorage) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage,showLabels);
      result.add(line);
    }
    if (showPercentage) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage == 0 ? 100 : (totalEnergy * 100 / totalStorage),showLabels);
      result.add(line);
    }
  }
  return result;
}

Fixed version (ground truth):
@Override public List<PanelString> getStringData(int displaySettings,ICardWrapper card,boolean showLabels){
  List<PanelString> result=new LinkedList<PanelString>();
  PanelString line;
  double totalEnergy=0;
  double totalStorage=0;
  boolean showEach=(displaySettings & DISPLAY_EACH) > 0;
  boolean showSummary=(displaySettings & DISPLAY_TOTAL) > 0;
  boolean showEnergy=(displaySettings & DISPLAY_ENERGY) > 0;
  boolean showFree=(displaySettings & DISPLAY_FREE) > 0;
  boolean showStorage=(displaySettings & DISPLAY_STORAGE) > 0;
  boolean showPercentage=(displaySettings & DISPLAY_PERCENTAGE) > 0;
  int cardCount=getCardCount(card);
  for (int i=0; i < cardCount; i++) {
    int energy=card.getInt(String.format("String_Node_Str",i));
    int storage=card.getInt(String.format("String_Node_Str",i));
    boolean isOutOfRange=energy == STATUS_OUT_OF_RANGE;
    boolean isNotFound=energy == STATUS_NOT_FOUND;
    if (showSummary && !isOutOfRange && !isNotFound) {
      totalEnergy+=energy;
      totalStorage+=storage;
    }
    if (showEach) {
      if (isOutOfRange) {
        line=new PanelString();
        line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1);
        result.add(line);
      }
 else       if (isNotFound) {
        line=new PanelString();
        line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1);
        result.add(line);
      }
 else {
        if (showEnergy) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",energy,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",energy,false);
          result.add(line);
        }
        if (showFree) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage - energy,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage - energy,false);
          result.add(line);
        }
        if (showStorage) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage,false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage,false);
          result.add(line);
        }
        if (showPercentage) {
          line=new PanelString();
          if (showLabels)           line.textLeft=StringUtils.getFormattedKey("String_Node_Str",i + 1,StringUtils.getFormatted("String_Node_Str",storage == 0 ? 100 : (int)(((double)energy / storage) * 100D),false));
 else           line.textLeft=StringUtils.getFormatted("String_Node_Str",storage == 0 ? 100 : (int)(((double)energy / storage) * 100D),false);
          result.add(line);
        }
      }
    }
  }
  if (showSummary) {
    if (showEnergy) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalEnergy,showLabels);
      result.add(line);
    }
    if (showFree) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage - totalEnergy,showLabels);
      result.add(line);
    }
    if (showStorage) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage,showLabels);
      result.add(line);
    }
    if (showPercentage) {
      line=new PanelString();
      line.textLeft=StringUtils.getFormatted("String_Node_Str",totalStorage == 0 ? 100 : ((totalEnergy / totalStorage) * 100),showLabels);
      result.add(line);
    }
  }
  return result;
}