Exception for invoker retrieves nodes out of order in situations where the contract between
invoker and parser specifies that nodes must be retrieved in order.
The point of such a contract would be to allow the parser to stop referencing old nodes
to facilitate memory recycling. Obviously we have a problem if the invoking classes then
attempts to retrieve an old node that the Parser is no longer able to supply.