public void moveToInsertRow() throws SQLException {
        if (getConcurrency() == ResultSet.CONCUR_READ_ONLY) {
            throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.movetoins").toString());
        }
        if (insertRow == null) {
            if (RowSetMD == null)
                throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.movetoins1").toString());
            int numCols = RowSetMD.getColumnCount();
            if (numCols > 0) {
                insertRow = new InsertRow(numCols);
            } else {
                throw new SQLException(resBundle.handleGetObject("cachedrowsetimpl.movetoins2").toString());
            }
        }
        onInsertRow = true;
        // %%% setCurrentRow called in BaseRow

        currentRow = cursorPos;
        cursorPos = -1;

        insertRow.initInsertRow();
    }
Moves the cursor for this <code>CachedRowSetImpl</code> object
to the insert row.  The current row in the rowset is remembered
while the cursor is on the insert row.
<P>
The insert row is a special row associated with an updatable
rowset.  It is essentially a buffer where a new row may
be constructed by calling the appropriate <code>updateXXX</code>
methods to assign a value to each column in the row.  A complete
row must be constructed; that is, every column that is not nullable
must be assigned a value.  In order for the new row to become part
of this rowset, the method <code>insertRow</code> must be called
before the cursor is moved back to the rowset.
<P>
Only certain methods may be invoked while the cursor is on the insert
row; many methods throw an exception if they are called while the
cursor is there.  In addition to the <code>updateXXX</code>
and <code>insertRow</code> methods, only the <code>getXXX</code> methods
may be called when the cursor is on the insert row.  A <code>getXXX</code>
method should be called on a column only after an <code>updateXXX</code>
method has been called on that column; otherwise, the value returned is
undetermined.

@throws SQLException if this <code>CachedRowSetImpl</code> object is
           <code>ResultSet.CONCUR_READ_ONLY</code>
src/main/java/org/replicadb/rowset/sun/rowset/CachedRowSetImpl.java