@Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
      var result = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
      if (!isSelected) {
        ValidationResult.Kind kind = ((MyTableModel)table.getModel()).getKind(row);
        if (kind == ValidationResult.Kind.ERROR) {
          result.setBackground(VALIDATION_ERROR_COLOR);
        }
        else if (kind == ValidationResult.Kind.CONFLICT) {
          result.setBackground(VALIDATION_CONFLICT_COLOR);
        }
      }
      if (result instanceof JLabel) {
        if (value instanceof ValidationResult.Action) {
          ((JLabel)result).setText(getActionName((ValidationResult.Action)value));
        }
        else if (value instanceof ValidationResult.Option) {
          ((JLabel)result).setText(getOptionName((ValidationResult.Option)value));
        }
      }
      return result;
    }
@Override
    public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)