public static OffsetBasedPageRequest fromString(String offsetBasedPageRequestAsString) {
        if (isNullOrEmpty(offsetBasedPageRequestAsString)) return null;

        String order = lenientSubstringBetween(offsetBasedPageRequestAsString, "order=", "&");
        String offset = lenientSubstringBetween(offsetBasedPageRequestAsString, "offset=", "&");
        String limit = lenientSubstringBetween(offsetBasedPageRequestAsString, "limit=", "&");
        return new OffsetBasedPageRequest(
                order,
                isNotNullOrEmpty(offset) ? Integer.parseInt(offset) : 0L,
                isNotNullOrEmpty(limit) ? Integer.parseInt(limit) : DEFAULT_LIMIT
        );
    }
@Test
    void testOffsetBasedPageRequestWithEmptyString() {
        OffsetBasedPageRequest offsetBasedPageRequest = OffsetBasedPageRequest.fromString("");

        assertThat(offsetBasedPageRequest).isNull();
    }