public boolean relative(int rows) throws SQLException {
        checkState();

        boolean b = rs.relative(rows);
        notifyCursorMoved();
        return b;
    }
Moves the cursor a relative number of rows, either positive or negative.
Attempting to move beyond the first/last row in the
result set positions the cursor before/after the
the first/last row. Calling <code>relative(0)</code> is valid, but does
not change the cursor position.

<p>Note: Calling the method <code>relative(1)</code>
is different from calling the method <code>next()</code>
because is makes sense to call <code>next()</code> when there
is no current row,
for example, when the cursor is positioned before the first row
or after the last row of the result set.

@return <code>true</code> if the cursor is on a row;
<code>false</code> otherwise
@throws SQLException if (1) a database access error occurs,
           (2) there is no current row, (3) the result set
           type is <code>TYPE_FORWARD_ONLY</code>, or (4) this
           rowset does not currently have a valid connection,
           prepared statement, and result set
src/main/java/org/replicadb/rowset/sun/rowset/JdbcRowSetImpl.java