public virtual void ReadChildData(BinaryReader reader)
            {
                int x = 0;

                _backgroundBitmap.ReadString(reader);
                for (x = 0; (x < _gameDataInputs.Count); x = (x + 1))
                {
                    GameDataInputs.Add(new GameDataInputReferencesBlock());
                    GameDataInputs[x].Read(reader);
                }
                for (x = 0; (x < _gameDataInputs.Count); x = (x + 1))
                {
                    GameDataInputs[x].ReadChildData(reader);
                }
                for (x = 0; (x < _eventHandlers.Count); x = (x + 1))
                {
                    EventHandlers.Add(new EventHandlerReferencesBlock());
                    EventHandlers[x].Read(reader);
                }
                for (x = 0; (x < _eventHandlers.Count); x = (x + 1))
                {
                    EventHandlers[x].ReadChildData(reader);
                }
                for (x = 0; (x < _searchAndReplaceFunctions.Count); x = (x + 1))
                {
                    SearchAndReplaceFunctions.Add(new SearchAndReplaceReferenceBlock());
                    SearchAndReplaceFunctions[x].Read(reader);
                }
                for (x = 0; (x < _searchAndReplaceFunctions.Count); x = (x + 1))
                {
                    SearchAndReplaceFunctions[x].ReadChildData(reader);
                }
                _textLabelUnicodeStringsList.ReadString(reader);
                _textFont.ReadString(reader);
                _listHeaderBitmap.ReadString(reader);
                _listFooterBitmap.ReadString(reader);
                _extendedDescriptionWidget.ReadString(reader);
                for (x = 0; (x < _conditionalWidgets.Count); x = (x + 1))
                {
                    ConditionalWidgets.Add(new ConditionalWidgetReferenceBlock());
                    ConditionalWidgets[x].Read(reader);
                }
                for (x = 0; (x < _conditionalWidgets.Count); x = (x + 1))
                {
                    ConditionalWidgets[x].ReadChildData(reader);
                }
                for (x = 0; (x < _childWidgets.Count); x = (x + 1))
                {
                    ChildWidgets.Add(new ChildWidgetReferenceBlock());
                    ChildWidgets[x].Read(reader);
                }
                for (x = 0; (x < _childWidgets.Count); x = (x + 1))
                {
                    ChildWidgets[x].ReadChildData(reader);
                }
            }
 public void ReadChildData(BinaryReader reader)
 {
     _backgroundBitmap.ReadString(reader);
     for (int x = 0; x < _gameDataInputs.Count; x++)
     {
         GameDataInputs.AddNew();
         GameDataInputs[x].Read(reader);
     }
     for (int x = 0; x < _gameDataInputs.Count; x++)
     {
         GameDataInputs[x].ReadChildData(reader);
     }
     for (int x = 0; x < _eventHandlers.Count; x++)
     {
         EventHandlers.AddNew();
         EventHandlers[x].Read(reader);
     }
     for (int x = 0; x < _eventHandlers.Count; x++)
     {
         EventHandlers[x].ReadChildData(reader);
     }
     for (int x = 0; x < _searchAndReplaceFunctions.Count; x++)
     {
         SearchAndReplaceFunctions.AddNew();
         SearchAndReplaceFunctions[x].Read(reader);
     }
     for (int x = 0; x < _searchAndReplaceFunctions.Count; x++)
     {
         SearchAndReplaceFunctions[x].ReadChildData(reader);
     }
     _textLabelUnicodeStringsList.ReadString(reader);
     _textFont.ReadString(reader);
     _listHeaderBitmap.ReadString(reader);
     _listFooterBitmap.ReadString(reader);
     _extendedDescriptionWidget.ReadString(reader);
     for (int x = 0; x < _conditionalWidgets.Count; x++)
     {
         ConditionalWidgets.AddNew();
         ConditionalWidgets[x].Read(reader);
     }
     for (int x = 0; x < _conditionalWidgets.Count; x++)
     {
         ConditionalWidgets[x].ReadChildData(reader);
     }
     for (int x = 0; x < _childWidgets.Count; x++)
     {
         ChildWidgets.AddNew();
         ChildWidgets[x].Read(reader);
     }
     for (int x = 0; x < _childWidgets.Count; x++)
     {
         ChildWidgets[x].ReadChildData(reader);
     }
 }