public void Load(System.IO.Stream stream) { _stream = stream; using (var reader = new Toolbox.Library.IO.FileReader(stream, true)) { reader.SetByteOrder(true); var header = reader.ReadStruct <MSBTHeader>(); Text = FileName; //parse the data int index = 0; while (!reader.EndOfStream) { CChunkDescriptor chunk = reader.ReadStruct <CChunkDescriptor>(); long startPos = reader.Position; reader.SeekBegin(startPos + (int)chunk.DataOffset); var subStream = new SubStream(_stream, reader.Position, (long)chunk.DataSize); Nodes.Add(new MessageEntry(subStream, index++, chunk.ChunkType)); reader.SeekBegin(startPos + (int)chunk.DataOffset + (int)chunk.DataSize); } } }