void (@NotNull Set<? extends Node> nodes, boolean excluded, boolean updateImmediately) { Set<Usage> affectedUsages = new LinkedHashSet<>(); for (Node node : nodes) { Object userObject = node.getUserObject(); if (userObject instanceof Usage) { affectedUsages.add((Usage)userObject); } node.setExcluded(excluded, edtFireTreeNodesChangedQueue); } if (updateImmediately) { updateImmediatelyNodesUpToRoot(nodes); for (ExcludeListener listener : myExcludeListeners) { listener.fireExcluded(affectedUsages, excluded); } } }