public FNode(int InNameIndex, FNode InParent, FAllocationTag?InTag) { Parent = InParent; if (Parent != null) { if (InTag.HasValue) { Parent.RegisterChildTag(InNameIndex, this); } else { Parent.RegisterChildNode(InNameIndex, this); } } NameIndex = InNameIndex; Tag = InTag; ChildNodes = new List <FNode>(); ChildNodesByNameMap = new Dictionary <int, FNode>(); ChildTags = new List <FNode>(); ChildTagsByNameMap = new Dictionary <int, FNode>(); }