public final ListType matching(Predicate<Type> condition) {
        return constructor.apply(items.stream().filter(negate ? condition.negate() : condition).toList(), false);
    }
Returns a new list which is the result of filtering with the -- possibly negated -- condition.
vespajlib/src/main/java/com/yahoo/collections/AbstractFilteringList.java