boolean (final @NotNull Collection<T> collection, final ProcessingContext context) { List<T> filtered = new ArrayList<>(); for (final T t : collection) { if (elementPattern.accepts(t, context)) { filtered.add(t); } } return continuationPattern.accepts(filtered, context); }