As Isaid, in my opinion while-each is better, because complexity is much lower: void test(ExtendedIterator<Some> iterator){ while( final some : iterator ){ iterator.index(); iterator.remove(); and other... } } -- Pozdrowionka. / Regards. Lasu aka Marek Kozieł http://lasu2string.blogspot.com/