If your going to call a method in the executor every time you advance, why does the iterator or index need to do anything special? Why not move the counting here?