Program: 109013
Project: 109013
Buggy source:
private NatTable createTable(final Composite parent){
  final IDataProvider provider=new HandleDataProvider(null,null);
  gridLayer=new TableGridLayerStack(provider);
  final NatTable natTable=new NatTable(parent,gridLayer,false);
  final DataLayer bodyDataLayer=(DataLayer)gridLayer.getBodyDataLayer();
  final AggregrateConfigLabelAccumulator aggregrateConfigLabelAccumulator=new AggregrateConfigLabelAccumulator();
  bodyDataLayer.setConfigLabelAccumulator(aggregrateConfigLabelAccumulator);
  final ColumnOverrideLabelAccumulator columnLabelAccumulator=new ColumnOverrideLabelAccumulator(bodyDataLayer);
  final ColumnOverrideLabelAccumulator bodyLabelAccumulator=new ColumnOverrideLabelAccumulator(bodyDataLayer);
  aggregrateConfigLabelAccumulator.add(bodyLabelAccumulator);
  aggregrateConfigLabelAccumulator.add(columnLabelAccumulator);
  final DisplayColumnStyleEditorCommandHandler styleChooserCommandHandler=new DisplayColumnStyleEditorCommandHandler(gridLayer.getBodyLayer().getSelectionLayer(),columnLabelAccumulator,natTable.getConfigRegistry());
  bodyLayer=gridLayer.getBodyLayer();
  bodyLayer.registerCommandHandler(styleChooserCommandHandler);
  bodyLayer.registerPersistable(styleChooserCommandHandler);
  bodyLayer.registerPersistable(columnLabelAccumulator);
  natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_PAINTER,new DataTableDecorator(new TextPainter(false,true,0,true),new BorderStyle(2,GUIHelper.COLOR_BLACK,LineStyleEnum.SOLID)),DisplayMode.NORMAL,GridRegion.BODY);
  for (int i=0; i < GRADIENT.length; i++) {
    Style style=new Style();
    style.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR,GRADIENT[i]);
    natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_STYLE,style,DisplayMode.NORMAL,"String_Node_Str" + i);
  }
  natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_PAINTER,new CheckBoxPainter(),DisplayMode.NORMAL,"String_Node_Str");
  return natTable;
}

Fixed version (ground truth):
private NatTable createTable(final Composite parent){
  final IDataProvider provider=new HandleDataProvider(null);
  gridLayer=new TableGridLayerStack(provider);
  final NatTable natTable=new NatTable(parent,gridLayer,false);
  final DataLayer bodyDataLayer=(DataLayer)gridLayer.getBodyDataLayer();
  final AggregrateConfigLabelAccumulator aggregrateConfigLabelAccumulator=new AggregrateConfigLabelAccumulator();
  bodyDataLayer.setConfigLabelAccumulator(aggregrateConfigLabelAccumulator);
  final ColumnOverrideLabelAccumulator columnLabelAccumulator=new ColumnOverrideLabelAccumulator(bodyDataLayer);
  final ColumnOverrideLabelAccumulator bodyLabelAccumulator=new ColumnOverrideLabelAccumulator(bodyDataLayer);
  aggregrateConfigLabelAccumulator.add(bodyLabelAccumulator);
  aggregrateConfigLabelAccumulator.add(columnLabelAccumulator);
  final DisplayColumnStyleEditorCommandHandler styleChooserCommandHandler=new DisplayColumnStyleEditorCommandHandler(gridLayer.getBodyLayer().getSelectionLayer(),columnLabelAccumulator,natTable.getConfigRegistry());
  bodyLayer=gridLayer.getBodyLayer();
  bodyLayer.registerCommandHandler(styleChooserCommandHandler);
  bodyLayer.registerPersistable(styleChooserCommandHandler);
  bodyLayer.registerPersistable(columnLabelAccumulator);
  natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_PAINTER,new DataTableDecorator(new TextPainter(false,true,0,true),new BorderStyle(2,GUIHelper.COLOR_BLACK,LineStyleEnum.SOLID)),DisplayMode.NORMAL,GridRegion.BODY);
  for (int i=0; i < GRADIENT.length; i++) {
    Style style=new Style();
    style.setAttributeValue(CellStyleAttributes.BACKGROUND_COLOR,GRADIENT[i]);
    natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_STYLE,style,DisplayMode.NORMAL,"String_Node_Str" + i);
  }
  natTable.getConfigRegistry().registerConfigAttribute(CellConfigAttributes.CELL_PAINTER,new CheckBoxPainter(),DisplayMode.NORMAL,"String_Node_Str");
  return natTable;
}