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);
     }
 }