internal CommittableTransaction(IsolationLevel isoLevel, TimeSpan timeout) : base(isoLevel, (InternalTransaction?)null) { // object to use for synchronization rather than locking on a public object _internalTransaction = new InternalTransaction(timeout, this); // Because we passed null for the internal transaction to the base class, we need to // fill in the traceIdentifier field here. _internalTransaction._cloneCount = 1; _cloneId = 1; TransactionsEtwProvider etwLog = TransactionsEtwProvider.Log; if (etwLog.IsEnabled()) { etwLog.TransactionCreated(this, "CommittableTransaction"); } }