Our iterator is the iterable as well, is that good or evil.
Is it because of Java or just we don't know how to do it?