private TreeEntry NextTreeEntry() { if (_sub != null) { return(_sub.NextTreeEntry()); } if (_index < 0 && _order == Order.PREORDER) { return(_tree); } if (_order == Order.POSTORDER && _index == _tree.MemberCount) { return(_tree); } if (_tree.Members.Length <= _index) { return(null); } return(_tree.Members[_index]); }