Token updater fixes a list of tokens constructed for a document
after text of the document gets modified.
Subclasses need to define all the abstract methods
so that the updating method can work on real token sequences.
Updater looks similar to list iterator
but there are differences in the semantics
of iterator's modification operations.