@Override
    public void copyTo(Collection<? super Node> collection, QueryOptions filter) {
        for (Map.Entry<ImmutableContextSet, SortedSet<Node>> e : map().entrySet()) {
            if (!filter.satisfies(e.getKey(), defaultSatisfyMode())) {
                continue;
            }

            if (normalNodesExcludeTest(filter, e.getKey())) {
                if (inheritanceNodesIncludeTest(filter, e.getKey())) {
                    SortedSet<InheritanceNode> inheritanceNodes = inheritanceMap().get(e.getKey());
                    if (inheritanceNodes != null) {
                        collection.addAll(inheritanceNodes);
                    }
                }
            } else {
                collection.addAll(e.getValue());
            }
        }
    }
Base implementation of {@link NodeMap} query methods.
common/src/main/java/me/lucko/luckperms/common/model/nodemap/NodeMapBase.java