Não trabalho muito frequentemente com iteradores Java / C # diretamente, mas quando faço isso sempre me pergunto qual foi o motivo para projetar iteradores da maneira "próxima". Para iniciar, é necessário mover o iterador, a fim de verificar se há alguns dados, você deve verificar se há o próximo...