public void Configure(FilterInfo filterInfo, ControllerContext controllerContext, ActionDescriptor actionDescription)
        {
            if (removeFilters != null)
            {
                foreach (var type in removeFilters)
                {
                    filterInfo.RemoveFilters(type);
                }
            }

            if (addFilters != null)
            {
                filterInfo.AddFilters(addFilters);
            }

            if (addFilterDelegate != null)
            {
                var ctx = new ConditionalFilterContext(controllerContext, actionDescription, filterInfo);

                filterInfo.AddFilters(
                    addFilterDelegate.GetInvocationListTyped()
                    .Select(del => del(ctx)).NotNull());
            }

            var afc = actions?.TryGetC(actionDescription.ActionName);

            if (afc != null)
            {
                afc.Configure(filterInfo, controllerContext, actionDescription);
            }
        }
        public void Configure(FilterInfo filterInfo, ControllerContext controllerContext, ActionDescriptor actionDescription)
        {
            if (removeFilters != null)
            {
                foreach (var type in removeFilters)
                {
                    filterInfo.RemoveFilters(type);
                }
            }

            if (addFilters != null)
            {
                filterInfo.AddFilters(addFilters);
            }

            if (addFilterDelegate != null)
            {
                var ctx = new ConditionalFilterContext(controllerContext, actionDescription, filterInfo);

                var filters = addFilterDelegate.GetInvocationListTyped().Select(del => del(ctx)).NotNull().ToList();

                filterInfo.AddFilters(filters);
            }
        }