@Override public boolean isNextPageAvailable() { long pageSize = getPageSize(); if (pageSize == 0) { return false; } long resultsCount = getResultsCount(); if (resultsCount < 0) { long currentPageIndex = getCurrentPageIndex(); return currentPageIndex < getCurrentHigherNonEmptyPageIndex() + getMaxNumberOfEmptyPages(); } else { long offset = getCurrentPageOffset(); return resultsCount > pageSize + offset; } }