/// <summary>
        /// Rolls back pending transactions.
        /// </summary>
        /// <returns>A <see cref="Task"/>.</returns>
        public Task Rollback()
        {
            while (_pendingTransactions.Any())
            {
                using IWrappedTransaction transaction = _pendingTransactions.Dequeue();
                transaction.Rollback();
            }

            return(Task.CompletedTask);
        }