public override XPathNavigator MatchNode(XPathNavigator current)
{
XPathNavigator context = _child.MatchNode(current);
if (context == null)
{
return(null);
}
context = input.MatchNode(context);
if (context == null)
{
return(null);
}
Evaluate(new XPathSingletonIterator(context.Clone(), /*moved:*/ true));
XPathNavigator result = Advance();
while (result != null)
{
if (result.IsSamePosition(current))
{
return(context);
}
result = Advance();
}
return(null);
}