I see... However, according to the TDD rule - do not write any more production code than sufficient to pass, my implementation would be there. Moreover, turning the class itself into an iterator seems to be progressed from my implementation if we want later.