public override void Deserialize(IoBuffer input, ISerializationContext context) { base.Deserialize(input, context); var itemCount = input.GetInt32(); var dataSize = input.GetInt32(); var data = input.GetSlice(dataSize).GetBytes(); using (var mem = new MemoryStream(data)) { Items = new List <MessageItem>(); for (int i = 0; i < itemCount; i++) { var message = new MessageItem(); message.Read(mem); Items.Add(message); } } }