code: public Iterator<GitkitUser> getAllUsers(final Integer resultsPerRequest) {
      return new DownloadIterator<GitkitUser>() {
  
        private String nextPageToken = null;
  
        @Override
        protected Iterator<GitkitUser> getNextResults() {
          try {
            JSONObject response = rpcHelper.downloadAccount(nextPageToken, resultsPerRequest);
            nextPageToken = response.has("nextPageToken")
                ? response.getString("nextPageToken")
                : null;
            if (response.has("users")) {
              return jsonToList(response.getJSONArray("users")).iterator();
            }
          } catch (JSONException e) {
            logger.warning(e.getMessage());
          } catch (GitkitServerException e) {
            logger.warning(e.getMessage());
          } catch (GitkitClientException e) {
            logger.warning(e.getMessage());
          }
          return ImmutableSet.<GitkitUser>of().iterator();
        }
      };
    }
docs: Gets all user info of this web site. Underlying requests are paginated and send on demand with
  given size.
  
  @param resultsPerRequest pagination size
  @return lazy iterator over all user accounts.