IteratorWrapper
interface IteratorWrapper
By wrapping each iterator we can use introspection to determine what kind of iterator we have in the stack
By wrapping each iterator we can use introspection to determine what kind of iterator we have in the stack