private CharacterCustomizationAppearances.AppearanceSection ReadAppearanceSection(BinaryReader reader, List <string> expectedNames)
        {
            var sectionName = ParserUtils.ReadString(reader);

            Debug.Assert(expectedNames.Contains(sectionName));

            var appearanceSection = new CharacterCustomizationAppearances.AppearanceSection {
                SectionName = sectionName
            };


            int count = reader.ReadInt32();

            appearanceSection.MainList.AddRange(ReadHashValueSection(reader, count));

            count = reader.ReadInt32();
            if (count > 0)
            {
                appearanceSection.AdditionalList.AddRange(ReadValueSection(reader, count));
            }

            return(appearanceSection);
        }