Program: 142743
Project: 142743
Buggy source:
public void setup(Partition partition,Transformer transformer){
  nodeColorTransformer=(NodeColorTransformer)transformer;
  List<Color> colors=PaletteUtils.getSequenceColors(partition.getPartsCount());
  int i=0;
  for (  Part p : partition.getParts()) {
    nodeColorTransformer.getMap().put(p.getValue(),colors.get(i));
    i++;
  }
  NumberFormat formatter=NumberFormat.getPercentInstance();
  formatter.setMaximumFractionDigits(2);
  this.partition=partition;
  Part[] partsArray=partition.getParts();
  Arrays.sort(partsArray);
  String[] columnNames=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
  DefaultTableModel model=new DefaultTableModel(columnNames,partsArray.length){
    @Override public boolean isCellEditable(    int row,    int column){
      return column == 0;
    }
  }
;
  table.setModel(model);
  TableColumn partCol=table.getColumnModel().getColumn(1);
  partCol.setCellRenderer(new TextRenderer());
  TableColumn percCol=table.getColumnModel().getColumn(2);
  percCol.setCellRenderer(new TextRenderer());
  percCol.setPreferredWidth(60);
  percCol.setMaxWidth(60);
  TableColumn colorCol=table.getColumnModel().getColumn(0);
  colorCol.setCellEditor(new ColorChooserEditor());
  colorCol.setCellRenderer(new ColorChooserRenderer());
  colorCol.setPreferredWidth(16);
  colorCol.setMaxWidth(16);
  for (int j=0; j < partsArray.length; j++) {
    final Part p=partsArray[partsArray.length - 1 - j];
    model.setValueAt(p.getValue(),j,0);
    model.setValueAt(p.getDisplayName(),j,1);
    String perc="String_Node_Str" + formatter.format(p.getPercentage()) + "String_Node_Str";
    model.setValueAt(perc,j,2);
  }
}

Fixed version (ground truth):
public void setup(Partition partition,Transformer transformer,boolean color){
  nodeColorTransformer=(NodeColorTransformer)transformer;
  if (color) {
    List<Color> colors=PaletteUtils.getSequenceColors(partition.getPartsCount());
    int i=0;
    for (    Part p : partition.getParts()) {
      nodeColorTransformer.getMap().put(p.getValue(),colors.get(i));
      i++;
    }
  }
  NumberFormat formatter=NumberFormat.getPercentInstance();
  formatter.setMaximumFractionDigits(2);
  this.partition=partition;
  Part[] partsArray=partition.getParts();
  Arrays.sort(partsArray);
  String[] columnNames=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str"};
  DefaultTableModel model=new DefaultTableModel(columnNames,partsArray.length){
    @Override public boolean isCellEditable(    int row,    int column){
      return column == 0;
    }
  }
;
  table.setModel(model);
  TableColumn partCol=table.getColumnModel().getColumn(1);
  partCol.setCellRenderer(new TextRenderer());
  TableColumn percCol=table.getColumnModel().getColumn(2);
  percCol.setCellRenderer(new TextRenderer());
  percCol.setPreferredWidth(60);
  percCol.setMaxWidth(60);
  TableColumn colorCol=table.getColumnModel().getColumn(0);
  colorCol.setCellEditor(new ColorChooserEditor());
  colorCol.setCellRenderer(new ColorChooserRenderer());
  colorCol.setPreferredWidth(16);
  colorCol.setMaxWidth(16);
  for (int j=0; j < partsArray.length; j++) {
    final Part p=partsArray[partsArray.length - 1 - j];
    model.setValueAt(p.getValue(),j,0);
    model.setValueAt(p.getDisplayName(),j,1);
    String perc="String_Node_Str" + formatter.format(p.getPercentage()) + "String_Node_Str";
    model.setValueAt(perc,j,2);
  }
}