public ControllerAuthorization(IAuthorizeAttributeCache authorizeAttributeCache, IReflectedAuthorizeAttributeCache reflectedAuthorizeAttributeCache, IObjectCopier objectCopier, RouteCollection routes)
        {
            Guard.IsNotNull(authorizeAttributeCache, "authorizeAttributeCache");
            Guard.IsNotNull(reflectedAuthorizeAttributeCache, "reflectedAuthorizeAttributeCache");
            Guard.IsNotNull(objectCopier, "objectCopier");
            Guard.IsNotNull(routes, "routes");

            this.authorizeAttributeCache = authorizeAttributeCache;
            this.reflectedAuthorizeAttributeCache = reflectedAuthorizeAttributeCache;
            this.objectCopier = objectCopier;
            this.routes = routes;
        }
        public ControllerAuthorization(IAuthorizeAttributeCache authorizeAttributeCache, IReflectedAuthorizeAttributeCache reflectedAuthorizeAttributeCache, IObjectCopier objectCopier, RouteCollection routes)
        {
            Guard.IsNotNull(authorizeAttributeCache, "authorizeAttributeCache");
            Guard.IsNotNull(reflectedAuthorizeAttributeCache, "reflectedAuthorizeAttributeCache");
            Guard.IsNotNull(objectCopier, "objectCopier");
            Guard.IsNotNull(routes, "routes");

            this.authorizeAttributeCache          = authorizeAttributeCache;
            this.reflectedAuthorizeAttributeCache = reflectedAuthorizeAttributeCache;
            this.objectCopier = objectCopier;
            this.routes       = routes;
        }