boolean (@Nullable Pair<PackageSetBase, NamedScopesHolder> filter, boolean showOnlyFilteredItems) { boolean apply = false; if (children != null && filter != null) { for (Iterator it = children.iterator(); it.hasNext(); ) { AbstractTreeNode node = (AbstractTreeNode)it.next(); if (node.acceptFilter(filter, showOnlyFilteredItems)) { apply = true; } else if (showOnlyFilteredItems) { if (node instanceof Disposable) { Disposer.dispose((Disposable)node); } it.remove(); } } applyFilter(apply); } return apply; }