void (@NotNull AnActionEvent e) { boolean showSelectedRowsOnly = myShowSelectedRowsOnly; if (showSelectedRowsOnly) { myShowSelectedRowsOnly = false; reloadTree(); } myTree.clearSelection(); for (DataNode<Identifiable> node : dependentNodeMap.keySet()) { final DataNodeCheckedTreeNode uiNode = node.getUserData(CONNECTED_UI_NODE_KEY); assert uiNode != null; if (!uiNode.isChecked()) continue; for (DataNode<Identifiable> treeNode : dependentNodeMap.get(node)) { final DataNodeCheckedTreeNode uiDependentNode = treeNode.getUserData(CONNECTED_UI_NODE_KEY); assert uiDependentNode != null; myTree.setNodeState(uiDependentNode, true); } } if (showSelectedRowsOnly) { myShowSelectedRowsOnly = true; reloadTree(); } updateSelectionState(); }