docs: private void addUserRolesLimitCriteria( QueryWhere queryWhere, String userId, List<String> groupIds ) {
          List<QueryCriteria> newBaseCriteriaList = new ArrayList<QueryCriteria>(2);
  
          // user role limiting criteria
          QueryCriteria userRolesLimitingCriteria = new QueryCriteria(
                  QueryParameterIdentifiers.TASK_USER_ROLES_LIMIT_LIST,
                  false,
                  QueryCriteriaType.NORMAL,
                  2);
          userRolesLimitingCriteria.setFirst(true);
          userRolesLimitingCriteria.getValues().add(userId);
          userRolesLimitingCriteria.getValues().add(groupIds);
          newBaseCriteriaList.add(userRolesLimitingCriteria);
  
          // original criteria list in a new group
          if( ! queryWhere.getCriteria().isEmpty() ) {
              QueryCriteria originalBaseCriteriaGroup = new QueryCriteria(false);
              originalBaseCriteriaGroup.setCriteria(queryWhere.getCriteria());
              newBaseCriteriaList.add(originalBaseCriteriaGroup);
          }
  
          queryWhere.setCriteria(newBaseCriteriaList);
      }