private void addQueryRule(T anchor, boolean afterwards, int pageSize, AVQuery<T> query) {

    // set page size
    query.limit(pageSize);
    // before or after

    String queryOrder = query.getOrder();
    if ((anchor != null) && (queryOrder != null)) {
      boolean isDescending = queryOrder.startsWith("-");
      String field = isDescending ? queryOrder.substring(1) : queryOrder;
      if ((isDescending && afterwards) || (!isDescending && !afterwards)) {
        query.whereLessThan(field, anchor.get(field));
      } else {
        query.whereGreaterThan(field, anchor.get(field));
      }
    }
  }