public void Create(XPathNavigator context, XmlNavigatorFilter filter, bool orSelf) {
this.filter = filter;
// Save context node as current node
this.navCurrent = XmlQueryRuntime.SyncToNavigator(this.navCurrent, context);
// If self node matches, then next call to MoveNext() should return it
// Otherwise, MoveNext() will fetch next ancestor
this.haveCurrent = (orSelf && !this.filter.IsFiltered(this.navCurrent));
}