There is two methods: `reset()` actually resets the iterator for the current document (will fail if it is not cached). `init()` initializes all things when moving to the next document, for example here recording the positions information. Does that make sense?