public void cancelRowUpdates() throws SQLException {
        // make sure we are on a row
        checkCursor();

        // don't want this to happen...
        if (onInsertRow == true) {
            throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.invalidcp").toString());
        }

        Row currentRow = (Row)getCurrentRow();
        if (currentRow.getUpdated() == true) {
            currentRow.clearUpdated();
            notifyRowChanged();
        }
    }
Rolls back any updates made to the current row of this
<code>CachedRowSetImpl</code> object and notifies listeners that
a row has changed.  To have an effect, this method
must be called after an <code>updateXXX</code> method has been
called and before the method <code>updateRow</code> has been called.
If no updates have been made or the method <code>updateRow</code>
has already been called, this method has no effect.

@throws SQLException if the cursor is on the insert row, before the
           first row, or after the last row
src/main/java/org/replicadb/rowset/sun/rowset/CachedRowSetImpl.java