docs: @Override
      public T findUniqueUsingQueryModel(QueryModel queryModel)
              throws NoSuchItemException, TooManyItemsException, JeppettoException {
          T result;
  
          try {
              if (accessControlContextProvider == null
                  || accessControlHelper.annotationAllowsAccess(persistentClass, queryModel.getAccessControlContext(), AccessType.Read)) {
                  // noinspection unchecked
                  result = (T) buildCriteria(queryModel).uniqueResult();
              } else {
                  // noinspection unchecked
                  result = (T) createAccessControlledQuery(queryModel).uniqueResult();
              }
          } catch (NonUniqueObjectException e) {
              throw new TooManyItemsException(e.getMessage());
          } catch (HibernateException e) {
              throw new JeppettoException(e);
          }
  
          if (result == null) {
              throw new NoSuchItemException(persistentClass.getSimpleName(), queryModel.toString());
          }
  
          return result;
      }