class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRepositoryCustom {

    protected List<Predicate> getPredicates(final Map<String, String[]> filters, final CriteriaBuilder criteriaBuilder,
            final Root<InfraActiveRequests> tableRoot) {
        final List<Predicate> predicates = new LinkedList<>();
        for (final Entry<String, String[]> entry : filters.entrySet()) {
            final String[] params = entry.getValue();
            if (VALID_COLUMNS.contains(entry.getKey()) && params.length == 2) {
                final QueryOperationType operationType = QueryOperationType.getQueryOperationType(params[0]);
                final Predicate predicate =
                        operationType.getPredicate(criteriaBuilder, tableRoot, entry.getKey(), params[1]);
                predicates.add(predicate);
            }
        }
        return predicates;
    }

}