code: public boolean hasNextThrow() throws SQLException {
  		if (closed) {
  			return false;
  		}
  		if (alreadyMoved) {
  			// we do this so multiple hasNext() calls can be made, result would be true or closed is true
  			return true;
  		}
  		boolean result;
  		if (first) {
  			first = false;
  			result = results.first();
  		} else {
  			result = results.next();
  		}
  		if (!result) {
  			IOUtils.closeThrowSqlException(this, "iterator");
  		}
  		alreadyMoved = true;
  		return result;
  	}
docs: Returns whether or not there are any remaining objects in the table. Can be called before next().
  
  @throws SQLException
  If there was a problem getting more results via SQL.