//------------------------------------------------- public void VisitNodes(INodeVisitor Visitor_in, VisitationType VisitationType_in) { if (!Visitor_in.Reset(VisitationType_in)) { throw new ApplicationException("Unable to reset this visitor; possibly invalid visitation type for this visitor."); } if ((VisitationType_in == VisitationType.None)) { } else if ((VisitationType_in == VisitationType.PreviousNodes)) { GenericNode <T> nodePrev = this.ParentNode; while (true) { if ((nodePrev == null)) { break; } if (!Visitor_in.VisitNode(nodePrev)) { break; } nodePrev = nodePrev.ParentNode; } } else if ((VisitationType_in == VisitationType.NextNodes)) { GenericNode <T> nodeNext = _NextNode; while (true) { if ((nodeNext == null)) { break; } if (!Visitor_in.VisitNode(nodeNext)) { break; } nodeNext = nodeNext._NextNode; } } else if ((VisitationType_in == VisitationType.Parents)) { GenericNode <T> nodePrev = this.ParentNode; while (true) { if ((nodePrev == null)) { break; } if (!Visitor_in.VisitNode(nodePrev)) { break; } nodePrev = nodePrev.ParentNode; } } else if ((VisitationType_in == VisitationType.PreviousSiblings)) { GenericNode <T> nodePrev = this.ParentNode; while (true) { if ((nodePrev == null)) { break; } if ((nodePrev._Indent < _Indent)) { break; } if ((nodePrev._Indent == _Indent)) { if (!Visitor_in.VisitNode(nodePrev)) { break; } } nodePrev = nodePrev.ParentNode; } } else if ((VisitationType_in == VisitationType.NextSiblings)) { GenericNode <T> nodeNext = _NextNode; while (true) { if ((nodeNext == null)) { break; } if ((nodeNext._Indent < _Indent)) { break; } if ((nodeNext._Indent == _Indent)) { if (!Visitor_in.VisitNode(nodeNext)) { break; } } nodeNext = nodeNext._NextNode; } } else if ((VisitationType_in == VisitationType.Children)) { GenericNode <T> nodeNext = _NextNode; while (true) { if ((nodeNext == null)) { break; } if ((nodeNext._Indent <= _Indent)) { break; } if ((nodeNext._Indent == (_Indent + 1))) { if (!Visitor_in.VisitNode(nodeNext)) { break; } } nodeNext = nodeNext._NextNode; } } else if ((VisitationType_in == VisitationType.DecendentsDepthFirst)) { GenericNode <T> nodeNext = _NextNode; while (true) { if ((nodeNext == null)) { break; } if ((nodeNext._Indent <= _Indent)) { break; } if (!Visitor_in.VisitNode(nodeNext)) { break; } nodeNext = nodeNext._NextNode; } } else if ((VisitationType_in == VisitationType.DecendentsBreadthFirst)) { throw new NotImplementedException(); } else { throw new NotSupportedException(); } return; }