@Override
    public @Nullable Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
      int modelRow = table.convertRowIndexToModel(row);
      myValue = ((MyTableModel)table.getModel()).getRegistryValue(modelRow);
      if (myValue.asColor(null) != null) {
        final Color color = ColorChooserService.getInstance().showDialog(table, IdeBundle.message("dialog.title.choose.color"), myValue.asColor(JBColor.WHITE));
        if (color != null) {
          setValue(myValue, color.getRed() + "," + color.getGreen() + "," + color.getBlue());
          keyChanged(myValue.getKey());
        }
        return null;
      }
      else if (myValue.isBoolean()) {
        myCheckBox.setSelected(myValue.asBoolean());
        myCheckBox.setBackground(table.getBackground());
        return myCheckBox;
      }
      else if (myValue.isMultiValue()) {
        myComboBox = new ComboBox<>(ArrayUtil.toStringArray(getOptions(myValue)));
        myComboBox.setSelectedItem(myValue.getSelectedOption());
        return myComboBox;
      }
      else {
        myField.setText(myValue.asString());
        myField.setBorder(null);
        myField.selectAll();
        return myField;
      }
    }
@Override
    public @Nullable Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)