code: protected Criteria createDistinctRootEntityCriteria(Criterion... criterion) {
          Criteria criteria = getSession().createCriteria(entityClass);
          addCriterionsToCriteria(criteria, criterion);
          criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
          criteria.setCacheable(this.useQueryCache);
          return criteria;
      }
docs: Helper method: Creates a criteria for the {@link #entityClass} of this dao.
  The query results will be handled with a
  {@link DistinctRootEntityResultTransformer}. The criteria will contain
  all passed criterions.
  
  @return