IStatementFactory factory = connection.getStatementFactory();
    public void execute(IDatabaseConnection connection, IDataSet dataSet)            throws DatabaseUnitException, SQLException    {        IStatementFactory factory = connection.getStatementFactory();        String schema = connection.getSchema();        // for each table        ITable[] tables = dataSet.getTables();        for (int i = 0; i < tables.length; i++)        {            // do not process empty table            ITable table = tables[i];            if (table.getRowCount() == 0)            {                continue;            }            ITableMetaData metaData = AbstractBatchOperation.getOperationMetaData(                    connection, table.getTableMetaData());            RowOperation updateRowOperation = createUpdateOperation(connection,                    factory, schema, metaData);            RowOperation insertRowOperation = new InsertRowOperation(connection,                    factory, schema, metaData);            // refresh all rows            for (int j = 0; j < table.getRowCount(); j++)            {                if (!updateRowOperation.execute(table, j))                {                    insertRowOperation.execute(table, j);                }            }            // cleanup            updateRowOperation.close();            insertRowOperation.close();        }    }