public override void ReadBinary(ESPReader reader) { List <string> readTags = new List <string>(); readTags.Add(reader.PeekTag()); Marker.ReadBinary(reader); while (reader.BaseStream.Position < reader.BaseStream.Length) { string subTag = reader.PeekTag(); switch (subTag) { case "MNAM": if (readTags.Contains("MNAM")) { return; } Male.ReadBinary(reader); break; case "FNAM": if (readTags.Contains("FNAM")) { return; } Female.ReadBinary(reader); break; default: return; } readTags.Add(subTag); } }