public override void OnPopulate()
        {
            ATKDEntry *entry = Header->entries;

            for (int i = 0; i < Header->_numEntries; i++)
            {
                new ATKDEntryNode().Initialize(this, new DataSource((VoidPtr)entry, 0x18));
                entry++;
            }
        }
        public override void OnRebuild(VoidPtr address, int length, bool force)
        {
            ATKDEntry *atkdEntry = (ATKDEntry *)address;

            atkdEntry->_SubActID   = SubActID;
            atkdEntry->_unk1       = unk1;
            atkdEntry->_StartFrame = unk2;
            atkdEntry->_EndFrame   = unk3;
            atkdEntry->_xMaxRange  = xMaxRange;
            atkdEntry->_xMinRange  = xMinRange;
            atkdEntry->_yMaxRange  = yMaxRange;
            atkdEntry->_yMinRange  = yMinRange;
        }
        public override void OnRebuild(VoidPtr address, int length, bool force)
        {
            ATKD *atkd = (ATKD *)address;

            atkd->_numEntries = Header->_numEntries;
            atkd->_tag        = Header->_tag;
            atkd->_unk1       = Header->_unk1;
            atkd->_unk2       = Header->_unk2;
            ATKDEntry *entries = (ATKDEntry *)((VoidPtr)atkd + 0x10);

            foreach (ATKDEntryNode node in Children)
            {
                node.Rebuild((VoidPtr)entries, 0x24, true); entries++;
            }
        }