public void Deserialize(YodaReader stream) { var puzzles = new List<Ipuz>(); stream.Seek(0x457048, System.IO.SeekOrigin.Begin); stream.ExpectAtCurrentPos("PUZ2"); stream.ReadLong(); // PUZ2 stream.ReadLong(); // skip length while (stream.CurrentPosContainsAtOffset("IPUZ", 2)) { var ipuz = new Ipuz(); ipuz.Deserialize(stream); puzzles.Add(ipuz); } this.Puzzles = puzzles.ToArray(); }