code: @NonNull
      public Searcher loadMore() {
          if (!hasMoreHits()) {
              return this;
          }
          query.setPage(++lastRequestPage);
          final int currentRequestId = ++lastRequestId;
          EventBus.getDefault().post(new SearchEvent(this, query, currentRequestId));
          pendingRequests.put(currentRequestId, triggerSearch(new CompletionHandler() {
              @Override
              public void requestCompleted(@NonNull JSONObject content, @Nullable AlgoliaException error) {
                  pendingRequests.remove(currentRequestId);
                  if (error != null) {
                      postError(error, currentRequestId);
                  } else {
                      if (currentRequestId <= lastResponseId) {
                          return; // Hits are for an older query, let's ignore them
                      }
  
                      if (hasHits(content)) {
                          updateListeners(content, true);
                          updateFacetStats(content);
                          lastResponsePage = lastRequestPage;
  
                          checkIfLastPage(content);
                      } else {
                          endReached = true;
                      }
                      EventBus.getDefault().post(new ResultEvent(Searcher.this, content, query, currentRequestId));
                  }
              }
          }));
          return this;
      }
docs: Loads more results with the same query.
  <p>
  Note that this method won't do anything if {@link Searcher#hasMoreHits} returns false.
  
  @return this {@link Searcher} for chaining.