An abstract TokenFilter to make it easier to build graph
token filters requiring some lookahead. This class handles
the details of buffering up tokens, recording them by
position, restoring them, providing access to them, etc.

afterPosition

This is called when all input tokens leaving a given
position have been returned. Override this and
call createToken and then set whichever token's
attributes you want, if you want to inject
a token starting from this position.