schema, metaData);
metaData);
    public void execute(IDatabaseConnection connection, IDataSet dataSet)            throws DatabaseUnitException, SQLException    {        String schema = connection.getSchema();        // for each table        ITableIterator iterator = dataSet.iterator();        while (iterator.next())        {            ITable table = iterator.getTable();            // Do not process empty table            if (isEmpty(table))            {                continue;            }            ITableMetaData metaData = getOperationMetaData(connection,                    table.getTableMetaData());            RowOperation updateRowOperation = createUpdateOperation(connection,                    schema, metaData);            RowOperation insertRowOperation = new InsertRowOperation(connection,                    metaData);            try            {                // refresh all rows                for (int i = 0; ; i++)                {                    if (!updateRowOperation.execute(table, i))                    {                        insertRowOperation.execute(table, i);                    }                }            }            catch (RowOutOfBoundsException e)            {                // end of table            }            finally            {                // cleanup                updateRowOperation.close();                insertRowOperation.close();            }        }    }