code: protected PageFilter getPageFilter(SlingHttpServletRequest request) {
  
      // check for predicate filter
      String predicateName = RequestParam.get(request, RP_PREDICATE);
      if (StringUtils.isNotEmpty(predicateName)) {
        PredicateProvider predicateProvider = getPredicateProvider();
        if (predicateProvider == null) {
          throw new RuntimeException("PredicateProvider service not available.");
        }
        Predicate predicate = predicateProvider.getPredicate(predicateName);
        if (predicate == null) {
          throw new RuntimeException("Predicate '" + predicateName + "' not available.");
        }
        return new PredicatePageFilter(predicate, true, true);
      }
  
      return null;
    }
docs: Can be overridden by subclasses to filter page list via page filter.
  If not overridden it supports defining a page filter via "predicate" request attribute.
  @param request Request
  @return Page filter or null if no filtering applies