Produces elements of an Iterable object. Classes that implement this interface should be immutable.
Iterable
The next element, or exhausted if there are no more elements to be iterated.
exhausted