code: @PostConstruct
      private void initialize() {
          final MultivaluedMap<String, String> queryParams = uriInfo.getQueryParameters();
          final String offset = multiParam(queryParams, "offset");
          final String page = multiParam(queryParams, "page", "pageNumber");
          final String size = multiParam(queryParams, "size", "pageSize", "limit");
          final String filter = multiParam(queryParams, "filter", "searchText");
          final String sort = multiParam(queryParams, "sort", "sortOrder");
          final OrderDirection orderDirection;
          String orderBy = multiParam(queryParams, "orderBy", "sortName");
  
          if (StringUtils.isBlank(orderBy) || !RegexSequence.Pattern.ALPHA_NUMERIC.matcher(orderBy).matches()) {
              orderBy = null;
          }
  
          if ("asc".equalsIgnoreCase(sort)) {
              orderDirection = OrderDirection.ASCENDING;
          } else if ("desc".equalsIgnoreCase(sort)) {
              orderDirection = OrderDirection.DESCENDING;
          } else {
              orderDirection = OrderDirection.UNSPECIFIED;
          }
  
          final Pagination pagination;
          if (StringUtils.isNotBlank(offset)) {
              pagination = new Pagination(Pagination.Strategy.OFFSET, offset, size);
          } else if (StringUtils.isNotBlank(page) && StringUtils.isNotBlank(size)) {
              pagination = new Pagination(Pagination.Strategy.PAGES, page, size);
          } else {
              pagination = new Pagination(Pagination.Strategy.OFFSET, 0, 100); // Always paginate queries from resources
          }
          this.alpineRequest = new AlpineRequest(getPrincipal(), pagination, filter, orderBy, orderDirection);
      }
docs: Initializes this resource instance by populating some of the features of this class