Stream<Iterable<X>> filterItems(bool predicate(X input)?) { if (predicate == null) return this; return this.map((items) => items.where(predicate)); }