Rewrite the look ahead iterator.

It does no longer extend \CachingIterator.
Cont'd.