/// <summary>
        /// Signals that the specified <paramref name="snapshot"/> has been applied to the persisted key/value store. This method gets
        /// called from the <see cref="ISnapshot{TKey, TValue}.OnCommitted"/> invocation on <see cref="Snapshot"/> and causes the edit
        /// pages captured by the snapshot to be pruned by merging their edits with the in-memory key/value store representation kept
        /// in the <see cref="_store"/> field.
        /// </summary>
        /// <param name="snapshot">The snapshot that has been successfully committed.</param>
        private void OnCommitted(Snapshot snapshot)
        {
            //
            // Acquire the lock to edit the in-memory key/value store representation kept in _store.
            //

            lock (_gate)
            {
                snapshot.Accept(new DictionarySnapshotVisitor <TKey, TValue>(_store));

                _deltas.OnStateSaved();
            }
        }