_processedIdentities.clear();
_fkTables.clear();
    public void start() throws DataSinkException    {        // we're determining all tables referenced by foreignkeys, and initialize the        // lists of already-processed identities for these tables        _processedIdentities.clear();        _waitingObjects.clear();        if (_ensureFkOrder)        {            for (int tableIdx = 0; tableIdx < _model.getTableCount(); tableIdx++)            {                Table table = _model.getTable(tableIdx);                    for (int fkIdx = 0; fkIdx < table.getForeignKeyCount(); fkIdx++)                {                    ForeignKey curFk = table.getForeignKey(fkIdx);                        if (!_processedIdentities.containsKey(curFk.getForeignTableName()))                    {                        _processedIdentities.put(curFk.getForeignTableName(), new HashSet());                    }                }            }        }        try        {            _connection = _platform.borrowConnection();        }        catch (DatabaseOperationException ex)        {            throw new DataSinkException(ex);        }    }