Returns a new lazy Iterable with all elements that satisfy the
The matching elements have the same order in the returned iterable as they have in iterator.
This method returns a view of the mapped elements. As long as the
returned Iterable is not iterated over, the supplied function
not be invoked. Iterating will not cache results, and thus iterating
multiple times over the returned Iterable will invoke the supplied
test multiple times on the same element.
Iterable<E> where(bool f(E element)) => new WhereIterable<E>(this, f);