public override bool MoveToChild(XPathNodeType type) {
if (source.NodeType == XmlNodeType.Attribute) {
return false;
}
XmlNode child = FirstChild(source);
if (child != null) {
int mask = GetContentKindMask(type);
if (mask == 0) {
return false;
}
do {
if (((1 << (int)child.XPNodeType) & mask) != 0) {
source = child;
return true;
}
child = NextSibling(child);
}
while (child != null);
}
return false;
}