code: public TypedQuery<T> select(Filter filter, OrderBy orderBy) {
          CriteriaQuery<T> query = cb.createQuery(getEntityClass());
          Root<T> from = query.from(getEntityClass());
  
          CriteriaMapper criteriaMapper = new CriteriaMapper(from, cb);
  
          if (orderBy != null) {
              query.orderBy(criteriaMapper.create(orderBy));
          }
          if (filter != null) {
              query.where(criteriaMapper.create(filter));
          }
  
          return getEntityManager().createQuery(query);
      }
docs: Creates a new query that is the basis for the {@link JpaRepository#find(org.cdlflex.fruit.Query)} call without
  limit and offset.
  
  @param filter the filter
  @param orderBy the order by clause
  @return a typed query