This is an implementation of the XPath Data Model. It is based on Saxon's tiny tree implementation. Nodes are built on demand (Flyweight pattern) to minimize the overhead of the garbage collector.