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)); } } }