@Override
  public boolean doCommand(DisplayColumnStyleEditorCommand command) {
    int columnIndexOfClick =
        command.getNattableLayer().getColumnIndexByPosition(command.columnPosition);

    LabelStack configLabels = new LabelStack();
    this.columnLabelAccumulator.accumulateConfigLabels(configLabels, columnIndexOfClick, 0);
    configLabels.addLabel(getConfigLabel(columnIndexOfClick));

    // Column style
    Style clickedCellStyle =
        (Style)
            this.configRegistry.getConfigAttribute(CELL_STYLE, NORMAL, configLabels.getLabels());

    this.dialog =
        new ColumnStyleEditorDialog(Display.getCurrent().getActiveShell(), clickedCellStyle);
    this.dialog.open();

    if (this.dialog.isCancelPressed()) {
      return true;
    }

    int[] selectedColumns = getSelectedColumnIndeces();
    if (selectedColumns.length > 0) {
      applySelectedStyleToColumns(command, selectedColumns);
      // fire refresh event
      this.selectionLayer.fireLayerEvent(
          new ColumnVisualUpdateEvent(
              this.selectionLayer, this.selectionLayer.getSelectedColumnPositions()));
    } else {
      applySelectedStyle();
      // fire refresh event
      this.selectionLayer.fireLayerEvent(new VisualRefreshEvent(this.selectionLayer));
    }

    return true;
  }
 @Override
 public void accumulateConfigLabels(LabelStack configLabels, int columnPosition, int rowPosition) {
   configLabels.getLabels().addAll(this.configLabels);
 }