public T Deserialize <T>(BinaryReader reader) where T : IPortableObject { var dataLength = reader.ReadInt32(); var data = reader.ReadBytes(dataLength); var pofReader = new PofReader(context, SlotSourceFactory.CreateWithSingleSlot(data)); return(pofReader.ReadObject <T>(0)); }