/// <inheritdoc />
        public void Complete(IConnectionFactory factory, bool success)
        {
            if (Factory != factory)
            {
                return;
            }

            _filesUpdatesHelper?.Dispose();
            _filesUpdatesHelper = null;
            Factory             = null;
        }
        /// <inheritdoc />
        public void Prepare(IPersister persister, IConnectionFactory factory)
        {
            // no readonly event posible here.
            if (factory.IsReadOnly)
            {
                return;
            }

            // sanity check.
            Contract.Assert(_filesUpdatesHelper == null);
            Contract.Assert(Factory == null);
            _filesUpdatesHelper = new FileUpdatesHelper(factory, Tables.FileUpdates);
            Factory             = factory;
        }