public void restoreOriginal() throws SQLException {
        Row currentRow;
        for (Iterator<?> i = rvh.iterator(); i.hasNext();) {
            currentRow = (Row)i.next();
            if (currentRow.getInserted() == true) {
                i.remove();
                --numRows;
            } else {
                if (currentRow.getDeleted() == true) {
                    currentRow.clearDeleted();
                }
                if (currentRow.getUpdated() == true) {
                    currentRow.clearUpdated();
                }
            }
        }
        // move to before the first
        cursorPos = 0;

        // notify any listeners
        notifyRowSetChanged();
    }
Restores this <code>CachedRowSetImpl</code> object to its original state,
that is, its state before the last set of changes.
<P>
Before returning, this method moves the cursor before the first row
and sends a <code>rowSetChanged</code> event to all registered
listeners.
@throws SQLException if an error is occurs rolling back the RowSet
          state to the definied original value.
@see RowSetListener#rowSetChanged
src/main/java/org/replicadb/rowset/sun/rowset/CachedRowSetImpl.java