hasNext メソッドは、next メソッドを呼び出しています。 hasNext メソッドは、イテレータの状態を変更することになっていないので、ほぼ確実に間違っています。 next メソッドがイテレータの状態を変更することになっています。