Implements XPathNavigator to navigate a graph of generic objects.
Note that object's properties and contents of some collections will be resolved only once during tree traversal. This means that if navigator has visited some object then it will remember the state of this object as it was on the moment of first visit. Any change to the object's state will be seen only to another navigator, either created after this change was made, or which simply was not visiting this object yet.