private void CleanupAfterCompletion(DefaultTransactionStatus status)
        {
            status.IsCompleted = true;
            if (status.IsNewSynchronization)
            {
                TransactionSynchronizationManager.Clear();
            }

            if (status.IsNewTransaction)
            {
                DoCleanupAfterCompletion(status.Transaction);
            }

            if (status.SuspendedResources != null)
            {
                _logger?.LogDebug("Resuming suspended transaction after completion of inner transaction");
                var transaction = status.HasTransaction ? status.Transaction : null;
                Resume(transaction, (SuspendedResourcesHolder)status.SuspendedResources);
            }
        }