private static IConstructorDef ParseConstructorDef(Org.Apache.REEF.Tang.Protobuf.ConstructorDef def, bool isInjectable)
        {
            IList <IConstructorArg> args = new List <IConstructorArg>();

            foreach (Org.Apache.REEF.Tang.Protobuf.ConstructorArg arg in def.args)
            {
                args.Add(new ConstructorArgImpl(arg.full_arg_class_name, arg.named_parameter_name, arg.is_injection_future));
            }
            return(new ConstructorDefImpl(def.full_class_name, args.ToArray(), isInjectable));
        }
        private static Org.Apache.REEF.Tang.Protobuf.ConstructorDef newConstructorDef(
            string fullClassName, IList <Org.Apache.REEF.Tang.Protobuf.ConstructorArg> args)
        {
            Org.Apache.REEF.Tang.Protobuf.ConstructorDef constDef = new Org.Apache.REEF.Tang.Protobuf.ConstructorDef();
            constDef.full_class_name = fullClassName;
            foreach (Org.Apache.REEF.Tang.Protobuf.ConstructorArg arg in args)
            {
                constDef.args.Add(arg);
            }

            return(constDef);
        }
        private static Org.Apache.REEF.Tang.Protobuf.ConstructorDef newConstructorDef(
             String fullClassName, IList<Org.Apache.REEF.Tang.Protobuf.ConstructorArg> args)
        {
            Org.Apache.REEF.Tang.Protobuf.ConstructorDef constDef = new Org.Apache.REEF.Tang.Protobuf.ConstructorDef();
            constDef.full_class_name = fullClassName;
            foreach (Org.Apache.REEF.Tang.Protobuf.ConstructorArg arg in args)
            {
                constDef.args.Add(arg);
            }

            return constDef;
        }