private AvroConstructorDef NewConstructorDef(IConstructorDef def)
        {
            IList<AvroConstructorArg> args = new List<AvroConstructorArg>();
            foreach (IConstructorArg arg in def.GetArgs())
            {
                args.Add(NewConstructorArg(arg.Gettype(), arg.GetNamedParameterName(), arg.IsInjectionFuture()));
            }

            AvroConstructorDef constDef = new AvroConstructorDef();
            constDef.fullClassName = def.GetClassName();

            constDef.constructorArgs = new List<AvroConstructorArg>();
            foreach (AvroConstructorArg arg in args)
            {
                constDef.constructorArgs.Add(arg);
            }

            return constDef;
        }
 private IConstructorDef ParseConstructorDef(AvroConstructorDef def, bool isInjectable)
 {
     IList<IConstructorArg> args = new List<IConstructorArg>();
     foreach (AvroConstructorArg arg in def.constructorArgs)
     {
         args.Add(new ConstructorArgImpl(arg.fullArgClassName, arg.namedParameterName, arg.isInjectionFuture));
     }
     return new ConstructorDefImpl(def.fullClassName, args.ToArray(), isInjectable);
 }