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