protected virtual object CreateCustomClassProxyInstance(Type type, IInterceptor interceptor,
                                                                GeneratorContext context, params object[] argumentsForConstructor)
        {
            if (context.HasMixins)
            {
                ArrayList args = new ArrayList();
                args.Add(interceptor);
                args.Add(context.MixinsAsArray());
                args.AddRange(argumentsForConstructor);

                return(Activator.CreateInstance(type, args.ToArray()));
            }
            return(CreateClassProxyInstance(type, interceptor, argumentsForConstructor));
        }
 protected virtual object CreateCustomProxyInstance(Type type, IInterceptor interceptor,
                                                    object target, GeneratorContext context)
 {
     if (context.HasMixins)
     {
         return(Activator.CreateInstance(type, new object[] { interceptor, target, context.MixinsAsArray() }));
     }
     return(CreateProxyInstance(type, interceptor, target));
 }