public byte[] Pack <T>(T graph)
        {
            var stream = new MemoryStream();

            using (var buffer = new BinaryWriteBuffer(1024, stream)) {
                var visitor = new PackedDataWriteVisitor(buffer);

                var traveller = CreateTraveller <T>();
                traveller.Travel(visitor, graph);
            }
            return(stream.ToArray());
        }
        public static byte[] GetFilledDataBlockBlob()
        {
            var stream = new MemoryStream();

            using (var buffer = new BinaryWriteBuffer(1024, stream)) {
                var visitor   = new PackedDataWriteVisitor(buffer);
                var traveller = DataBlockHardCodedTraveller.Create();
                traveller.Travel(visitor, DataBlock.Filled());
            }

            var bytes = stream.ToArray();

            return(bytes);
        }