private void onItemChosen(ActionEvent e) {
    RecursionManager.doPreventingRecursion(this, false, () -> {
      ServerItem selectedItem = getSelectedItem();
      if (selectedItem != null) {
        selectedItem.onItemChosen();
      }
      if (!(selectedItem instanceof TransientItem)) {
        fireStateChanged();
      }
      return null;
    });
  }
private void onItemChosen(ActionEvent e)