public MasterWrapper(IAbstractWithProtectedNonParameterlessConstructorMixinRequirements target)
        {
            AbstractWrapper = target.InitializeMixin();

            PublicVirtualMethodFunc     = delegate() { return(AbstractWrapper.PublicVirtualMethod()); };
            ProteectedVirtualMethodFunc = delegate(int i) { return(AbstractWrapper.ProtectedVirtualMethod(i)); };

            PublicVirtaulPropertyGetFunc = () => AbstractWrapper.PublicVirtualProperty;
            PublicVirtualPropertySetFunc = (s) => AbstractWrapper.PublicVirtualProperty = s;
        }
        public MasterWrapper(IAbstractWithProtectedNonParameterlessConstructorMixinRequirements target)
        {
            AbstractWrapper = target.InitializeMixin();

            PublicVirtualMethodFunc = delegate() { return AbstractWrapper.PublicVirtualMethod(); };
            ProteectedVirtualMethodFunc = delegate(int i) { return AbstractWrapper.ProtectedVirtualMethod(i); }; 

            PublicVirtaulPropertyGetFunc = () => AbstractWrapper.PublicVirtualProperty;
            PublicVirtualPropertySetFunc = (s) => AbstractWrapper.PublicVirtualProperty = s;
        }