public static IEnumerable <T> Filter <T>(this IEnumerable <T> contents, ICollectionSettings settings) where T : IContent { if (contents == null) { throw new ArgumentNullException(nameof(contents)); } // ReSharper disable InvertIf if (settings?.Filters != null && settings.Filters.Any()) { var filter = new CompositeFilter(settings.Filters); contents = contents.Where(content => !filter.ShouldFilter(content)); } // ReSharper restore InvertIf return(contents); }