public TypedStateMachine(ITypedStateSupplier <T> supplier)
 {
     if (supplier == null)
     {
         throw new System.ArgumentNullException("supplier");
     }
     _states = supplier;
 }
 public TypedStackedStateMachine(ITypedStateSupplier <T> supplier)
     : base(supplier)
 {
     _stack = new GenericTypedStateStack <T>(this);
 }