protected StateMachine(TransactionEnlistment enlistment)
 {
     this.enlistment = enlistment;
     this.state = enlistment.State;
     this.synchronization = new SynchronizationManager(this);
     if (DebugTrace.Warning || DiagnosticUtility.ShouldTraceWarning)
     {
         this.history = new StateMachineHistory();
     }
 }