code: public List<Rev> getPageRevisions(String pageTitle, int revisionLimit, final String rvprop, String queryParams) throws Exception {
      if (StringUtils.isBlank(pageTitle)) {
        throw new IllegalArgumentException("Please provide a valid page title.");
      }
      if (revisionLimit < 1 || revisionLimit > 500) {
        throw new IllegalArgumentException("Revision limit must be > 0 and <= 500.");
      }
      if (StringUtils.isBlank(rvprop)) {
        throw new IllegalArgumentException("Please provide a meaningful rvprop string.");
      }
      final Api api = getQueryResult("" +
          "&prop=revisions" +
          "&rvprop=" + rvprop +
          "&rvlimit=" + revisionLimit + (queryParams != null ? queryParams : "") +
          "&titles=" + normalizeTitle(pageTitle));
      handleError(api);
      final List<Page> pages = api.getQuery().getPages();
      final List<Rev> pageRevisions = new LinkedList<>();
      if (pages != null) {
        Page page = pages.get(0);
        if (page != null) {
          pageRevisions.addAll(page.getRevisions());
        }
      }
      return Collections.unmodifiableList(pageRevisions);
    }
docs: Gets the last revisions of the page with the given <code>pageTitle</code> or an empty <code>List</code> if no revisions can be found.
  <p>
  Latest revisions first unless specified otherwise in the <code>queryParams</code>.
  <p>
  {@see https://www.mediawiki.org/wiki/API:Revisions}
  
  @param pageTitle title of the page whose revisions to retrieve
  @param revisionLimit  max number of revisions >0, <=500
  @param rvprop  revision properties to return, e.g. "content|ids|timestamp"
  @param queryParams  extra query params e.g. for sections
  @return page revisions
  @throws Exception