public IEnumerator<INode> GetEnumerator() { if (NodeType.IsValue()) throw new ChildrenNotSupportedException(); return GetNodes().GetEnumerator(); }