public void undoUpdate() throws SQLException {
        // if on insert row, cancel the insert row
        // make the insert row flag,
        // cursorPos back to the current row
        moveToCurrentRow();

        // else if not on insert row
        // call undoUpdate or undoInsert
        undoDelete();

        undoInsert();

    }
Immediately reverses the last update operation if the
row has been modified. This method can be
called to reverse updates on a all columns until all updates in a row have
been rolled back to their originating state since the last synchronization
(<code>acceptChanges</code>) or population. This method may also be called
while performing updates to the insert row.
<P>
<code>undoUpdate</code may be called at any time during the life-time of a
rowset, however after a synchronization has occurs this method has no
affect until further modification to the RowSet data occurs.

@throws SQLException if cursor is before the first row, after the last
    row in rowset.
@see #undoDelete
@see #undoInsert
@see ResultSet#cancelRowUpdates
src/main/java/org/replicadb/rowset/sun/rowset/CachedRowSetImpl.java