Interfaces

NodeFilter NodeFilter is used to update nodes and complete children of nodes while applying queries on the fly and keeping track of any child changes. 
NodeFilter.CompleteChildSource Since updates to filtered nodes might require nodes to be pulled in from "outside" the node, this interface can help to get complete children that can be pulled in. 

Classes

ChildChangeAccumulator  
IndexedFilter Doesn't really filter nodes but applies an index to the node and keeps track of any changes  
LimitedFilter Applies a limit and a range to a node and uses RangedFilter to do the heavy lifting where possible  
RangedFilter Filters nodes by range and uses an IndexFilter to track any changes after filtering the node