boolean (@NotNull TreeNode startNode, @NotNull Value value) { for (Enumeration children = startNode.children(); children.hasMoreElements();) { Object child = children.nextElement(); if (child instanceof SettingsTreeNode settingsChild) { if (settingsChild.accepted && value.equals(settingsChild.myValue)) { return true; } if (valueIsSelectedInTree(settingsChild, value)) return true; } else if (child instanceof TreeNode) { if (valueIsSelectedInTree((TreeNode) child, value)) return true; } } return false; }