@Override
  public boolean editCellAt(final int row, final int column, EventObject e) {
    if (super.editCellAt(row, column, e)) {
      assert myEditorListenerDisposable == null;
      myEditorListenerDisposable = Disposer.newDisposable();
      addChangeListener(getEditorComponent(), new ChangeListener() {
          @Override
          public void stateChanged(ChangeEvent e) {
            onCellValueChanged(row, column, getValue(getEditorComponent()));
          }
        }, myEditorListenerDisposable);
      return true;
    }
    return false;
  }
@Override
  public boolean editCellAt(final int row, final int column, EventObject e)