docs: public <T> List<T> doCriteriaQuery( QueryWhere queryWhere, Class<T> queryType ) {
          // 1. create builder and query instances
          CriteriaBuilder builder = getCriteriaBuilder();
          CriteriaQuery<T> criteriaQuery = builder.createQuery(queryType);
  
          // query base;
          criteriaQuery.select(criteriaQuery.from(queryType));
  
          fillCriteriaQuery(criteriaQuery, queryWhere, builder, queryType);
  
          List<T> result = createQueryAndCallApplyMetaCriteriaAndGetResult(queryWhere, criteriaQuery, builder);
  
          return result;
      }