Program: 96167
Project: 96167
Buggy source:
/** 
 * Helper method that updates the contents of the dialog based on what's in the armor set builder session.
 */
private void updateDecorationsView(){
  if (session.getEquipment(pieceIndex) != null) {
    for (int i=0; i < decorationNames.length; i++) {
      if (session.decorationIsReal(pieceIndex,i)) {
        Drawable icon=null;
        String cellImage="String_Node_Str" + session.getDecoration(pieceIndex,i).getFileLocation();
        try {
          icon=Drawable.createFromStream(parentFragment.getActivity().getAssets().open(cellImage),null);
        }
 catch (        IOException e) {
          e.printStackTrace();
        }
        decorationIcons[i].setImageDrawable(icon);
      }
 else       if (session.decorationIsDummy(pieceIndex,i)) {
        Drawable icon=null;
        String cellImage="String_Node_Str";
        try {
          icon=Drawable.createFromStream(parentFragment.getActivity().getAssets().open(cellImage),null);
        }
 catch (        IOException e) {
          e.printStackTrace();
        }
        decorationIcons[i].setImageDrawable(icon);
      }
 else {
        decorationIcons[i].setImageDrawable(null);
      }
      if (session.decorationIsReal(pieceIndex,i)) {
        decorationNames[i].setText(session.getDecoration(pieceIndex,i).getName());
      }
 else       if (session.decorationIsDummy(pieceIndex,i)) {
        decorationNames[i].setText(session.findRealDecorationOfDummy(pieceIndex,i).getName());
      }
 else       if (session.getEquipment(pieceIndex).getNumSlots() > i) {
        decorationNames[i].setText(R.string.asb_empty_slot);
      }
      if (session.decorationIsReal(pieceIndex,i)) {
        decorationNames[i].setTextColor(getResources().getColor(R.color.text_color));
      }
 else {
        decorationNames[i].setTextColor(getResources().getColor(R.color.text_color_secondary));
      }
    }
  }
}

Fixed version (ground truth):
/** 
 * Helper method that updates the contents of the dialog based on what's in the armor set builder session.
 */
private void updateDecorationsView(){
  for (  TextView decorationName : decorationNames) {
    decorationName.setTextColor(getResources().getColor(R.color.text_color_secondary));
  }
  if (session.getEquipment(pieceIndex) != null) {
    for (int i=0; i < decorationNames.length; i++) {
      if (session.decorationIsReal(pieceIndex,i)) {
        Drawable icon=null;
        String cellImage="String_Node_Str" + session.getDecoration(pieceIndex,i).getFileLocation();
        try {
          icon=Drawable.createFromStream(parentFragment.getActivity().getAssets().open(cellImage),null);
        }
 catch (        IOException e) {
          e.printStackTrace();
        }
        decorationIcons[i].setImageDrawable(icon);
      }
 else       if (session.decorationIsDummy(pieceIndex,i)) {
        Drawable icon=null;
        String cellImage="String_Node_Str";
        try {
          icon=Drawable.createFromStream(parentFragment.getActivity().getAssets().open(cellImage),null);
        }
 catch (        IOException e) {
          e.printStackTrace();
        }
        decorationIcons[i].setImageDrawable(icon);
      }
 else {
        decorationIcons[i].setImageDrawable(null);
      }
      if (session.decorationIsReal(pieceIndex,i)) {
        decorationNames[i].setText(session.getDecoration(pieceIndex,i).getName());
      }
 else       if (session.decorationIsDummy(pieceIndex,i)) {
        decorationNames[i].setText(session.findRealDecorationOfDummy(pieceIndex,i).getName());
      }
 else       if (session.getEquipment(pieceIndex).getNumSlots() > i) {
        decorationNames[i].setText(R.string.asb_empty_slot);
      }
      if (session.decorationIsReal(pieceIndex,i)) {
        decorationNames[i].setTextColor(getResources().getColor(R.color.text_color));
      }
 else {
        decorationNames[i].setTextColor(getResources().getColor(R.color.text_color_secondary));
      }
    }
  }
}