public void UsageMethod()
 {
     var context = new StateContext(new ConcreteStateA());
     context.Request();
     context.Request();
     context.Request();
     context.Request();
 }
 public virtual void Handle(StateContext context)
 {
     context.State = new ConcreteStateA();
 }