Lazy collections for Java based on Iterable interface