void (@NotNull AnActionEvent e) { TreePath path = myTree.getSelectionPath(); if (path != null) { Object node = path.getLastPathComponent(); myTreeCreator.createDescriptorByNode(node, new ResultConsumer<>() { @Override public void onSuccess(final D value) { if (value != null) { ApplicationManager.getApplication().invokeLater(() -> { addToHistory(value); updateTree(value); }); } } @Override public void onFailure(@NotNull Throwable t) { LOG.debug(t); } }); } }