@Override public boolean next() throws SQLException { if (displayRows != null && displayRowsPosition + 1 < displayRows.size()) { overallRowPosition++; displayRowsPosition++; return true; } else if (resultPosition + 1 < size) { INNER: while (resultPosition + 1 < size) { displayRows.clear(); resultPosition++; displayRowsPosition = 0; overallRowPosition++; final BlurResult result = results.results.get(resultPosition); try { FetchRecordResult recordResult = result.getFetchResult().getRecordResult(); selector.setRowId(recordResult.getRowid()); selector.setRecordId(recordResult.getRecord().getRecordId()); fetchResult = client.fetchRow(tableName, selector); Record record = fetchResult.recordResult.record; if (!record.family.equals(columnFamily)) { continue INNER; } String rowId = fetchResult.recordResult.rowid; displayRows.add( addColumns(result.getScore(), result.getLocationId(), rowId, record.family, record)); return true; } catch (Exception e) { e.printStackTrace(); throw new SQLException(e); } } return next(); } else if (overallRowPosition < totalResults) { currentStart += currentFetch; runSearch(currentStart, currentFetch); displayRowsPosition = 0; resultPosition = -1; return next(); } return false; }