Program: 123454
Project: 123454
Buggy source:
protected void initMapSettingColumns(final TableViewerCreator<GlobalMapEntry> tableViewerCreator){
  final Table table=tableViewerCreator.getTable();
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setWeight(COLUMN_NAME_SIZE_WEIGHT);
  column.setModifiable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<GlobalMapEntry,Object>(){
    public Object get(    GlobalMapEntry bean){
      return bean.getName();
    }
    public void set(    GlobalMapEntry bean,    Object value){
    }
  }
);
  column.setColorProvider(new IColumnColorProvider<GlobalMapEntry>(){
    public Color getBackgroundColor(    GlobalMapEntry bean){
      if (needColumnBgColor(bean)) {
        return color;
      }
      return null;
    }
    public Color getForegroundColor(    GlobalMapEntry bean){
      return null;
    }
  }
);
  final TableViewerCreatorColumn valueColumn=new TableViewerCreatorColumn(tableViewerCreator);
  valueColumn.setTitle("String_Node_Str");
  valueColumn.setId(MAP_SETTING_COLUMN);
  valueColumn.setWeight(COLUMN_NAME_SIZE_WEIGHT);
  final CustomDialogCellEditor cellEditor=new CustomDialogCellEditor(CellValueType.SCHEMA_ID){
    protected Object openDialogBox(    Control cellEditorWindow){
      Object obj=super.openDialogBox(cellEditorWindow);
      if (obj == null) {
        return openCustomCellDialog(cellEditorWindow.getShell(),this.getType());
      }
      return obj;
    }
  }
;
  cellEditor.create(table);
  valueColumn.setCellEditor(cellEditor);
  valueColumn.setBeanPropertyAccessors(getMapSettingValueAccess(cellEditor));
  valueColumn.setModifiable(true);
  valueColumn.setColorProvider(new IColumnColorProvider<GlobalMapEntry>(){
    public Color getBackgroundColor(    GlobalMapEntry bean){
      if (needColumnBgColor(bean)) {
        return color;
      }
      return null;
    }
    public Color getForegroundColor(    GlobalMapEntry bean){
      return null;
    }
  }
);
}

Fixed version (ground truth):
protected void initMapSettingColumns(final TableViewerCreator<GlobalMapEntry> tableViewerCreator){
  final Table table=tableViewerCreator.getTable();
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setWeight(COLUMN_NAME_SIZE_WEIGHT);
  column.setModifiable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<GlobalMapEntry,Object>(){
    public Object get(    GlobalMapEntry bean){
      return bean.getName();
    }
    public void set(    GlobalMapEntry bean,    Object value){
    }
  }
);
  column.setColorProvider(new IColumnColorProvider<GlobalMapEntry>(){
    public Color getBackgroundColor(    GlobalMapEntry bean){
      if (needColumnBgColor(bean)) {
        return color;
      }
      return null;
    }
    public Color getForegroundColor(    GlobalMapEntry bean){
      return null;
    }
  }
);
  final TableViewerCreatorColumn valueColumn=new TableViewerCreatorColumn(tableViewerCreator);
  valueColumn.setTitle("String_Node_Str");
  valueColumn.setId(MAP_SETTING_COLUMN);
  valueColumn.setWeight(COLUMN_NAME_SIZE_WEIGHT);
  final CustomDialogCellEditor cellEditor=new CustomDialogCellEditor(CellValueType.SCHEMA_ID){
    @Override protected Object openDialogBox(    Control cellEditorWindow){
      Object obj=super.openDialogBox(cellEditorWindow);
      if (obj == null) {
        return openCustomCellDialog(cellEditorWindow.getShell(),this.getType());
      }
      return obj;
    }
  }
;
  cellEditor.create(table);
  valueColumn.setCellEditor(cellEditor);
  valueColumn.setBeanPropertyAccessors(getMapSettingValueAccess(cellEditor));
  valueColumn.setModifiable(true);
  valueColumn.setColorProvider(new IColumnColorProvider<GlobalMapEntry>(){
    public Color getBackgroundColor(    GlobalMapEntry bean){
      if (needColumnBgColor(bean)) {
        return color;
      }
      return null;
    }
    public Color getForegroundColor(    GlobalMapEntry bean){
      return null;
    }
  }
);
}