public void setCancelAction(Action cancelAction) {
    actionCancelDelegate = cancelAction;
    actionCancelButton.setAction(new AbstractAction() {
      @Override
      public void actionPerformed(ActionEvent e) {
        showTable();
        cancelAction.actionPerformed(e);
      }

      @Override
      public Object getValue(String key) {
        return cancelAction.getValue(key);
      }
    });
    try {
      selectionChanged();
    } catch (FileSystemException e) {
      LOGGER.warn("Problem with checking selection conditions", e);
    }

  }
Caller responsible for ensuring called from EDT.
We purposefully do not update UI other than indirectly reflecting
the selection.
Current use case is that we are finished with the browser window.
olv-vfs/src/main/java/pl/otros/vfs/browser/VfsBrowser.java