@Override
    public void valueCommitted(@NotNull PropertyEditor source, boolean continueEditing, boolean closeEditorOnError) {
      if (isEditing()) {
        Object value;
        TableCellEditor tableCellEditor = cellEditor;

        try {
          value = tableCellEditor.getCellEditorValue();
        }
        catch (Exception e) {
          showInvalidInput(e);
          return;
        }

        if (setValueAtRow(editingRow, value)) {
          if (!continueEditing && editingRow != -1) {
            PropertyEditor editor = myProperties.get(editingRow).getEditor();
            editor.removePropertyEditorListener(myPropertyEditorListener);
            removeEditor();
          }
        }
        else if (closeEditorOnError) {
          tableCellEditor.cancelCellEditing();
        }
      }
    }
@Override
    public void valueCommitted(@NotNull PropertyEditor source, boolean continueEditing, boolean closeEditorOnError)