This class manages the System.Transactions protocol in order to support TransactionScope bindings
Inheritance: IPromotableSinglePhaseNotification
        public TransactionManager(ITransactionalGraphClient client)
        {
            _client = client;
            // specifies that we are about to use variables that depend on OS threads
            Thread.BeginThreadAffinity();
            _scopedTransactions = new Stack <TransactionScopeProxy>();

            // this object enables the interacion with System.Transactions and MSDTC, at first by
            // letting us manage the transaction objects ourselves, and if we require to be promoted to MSDTC,
            // then it notifies the library how to do it.
            _promotable  = new TransactionPromotableSinglePhaseNotification(client);
            _dtcContexts = new Dictionary <string, TransactionContext>();
        }
        public TransactionManager(ITransactionalGraphClient client)
        {
            _client = client;
            // specifies that we are about to use variables that depend on OS threads
            Thread.BeginThreadAffinity();
            _scopedTransactions = new Stack<TransactionScopeProxy>();

            // this object enables the interacion with System.Transactions and MSDTC, at first by
            // letting us manage the transaction objects ourselves, and if we require to be promoted to MSDTC,
            // then it notifies the library how to do it.
            _promotable = new TransactionPromotableSinglePhaseNotification(client);
            _dtcContexts = new Dictionary<string, TransactionContext>();
        }