# where method

Iterable<E> where (bool test(E element))

Returns a new lazy Iterable with all elements that satisfy the predicate `test`.

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 `test` will not be invoked. Iterating will not cache results, and thus iterating multiple times over the returned Iterable may invoke the supplied function `test` multiple times on the same element.

## Implementation

    Iterable<E> where(bool test(E element)) => new WhereIterable<E>(this, test);