Почему интерфейс Iterator не расширяется Iterable?
Метод iterator() может просто вернуть this.
Это специально или просто надзор над разработчиками Java?
Было бы удобно использовать цикл for-each с итераторами:
for(Object o : someContainer.listSomeObjects()) {
....
}
где listSomeObjects() возвращает итератор.