public void RunExpt1()
        {
            // Prepare input entity, we reuse existing init code
            // and just Inject (via Value Injecter library)
            var origMsg = new InheritedEntity();
            origMsg.FillDummyData();
            var origMsgJson = JsonConvert.SerializeObject(origMsg);
            Console.WriteLine("Original object is {0}", origMsgJson);

            // Serialization
            var tmsg = new InheritedEntityThrift();
            tmsg.InjectFrom(origMsg);
            var ms = new MemoryStream();
            var tproto = new TCompactProtocol(new TStreamTransport(ms, ms));
            tmsg.Write(tproto);
            var tbytes = ms.ToArray();

            Console.WriteLine("Serialized to {0} bytes: {1}", tbytes.Length, BitConverter.ToString(tbytes));

            // Deserialization
            var ms2 = new MemoryStream(tbytes);
            var tproto2 = new TCompactProtocol(new TStreamTransport(ms2, ms2));
            var regenTMsg = new InheritedEntityThrift();
            regenTMsg.Read(tproto2);
            var regenMsg = new InheritedEntity();
            regenMsg.InjectFrom(regenTMsg);

            var regenMsgJson = JsonConvert.SerializeObject(regenMsg);
            Console.WriteLine("Regenerated object is {0}", regenMsgJson);
        }
        private void AvroMsftToAvro()
        {
            // avro-msft ser => avro deser

            var e = new InheritedEntity();
            e.FillDummyData();

            // Avro MSFT serialize
            var eBytes = SerializeAvroMsft(e);

            // Avro-Apache deserialize
            var eCodeGenEntity = DeserializeAvro(eBytes);
            var eAppEntityRegen = new InheritedEntity();
            eAppEntityRegen.InjectFrom(eCodeGenEntity);

            // Compare the object (in JSON, easiest to do so)
            var eJson = JsonConvert.SerializeObject(e);
            var eRegenJson = JsonConvert.SerializeObject(eAppEntityRegen);

            Console.Write("avro-msft ser => avro deser ");
            if (eJson != eRegenJson)
                Console.WriteLine("FAILED !!!");
            else
                Console.WriteLine("passed");
        }