public void Set(State state)
 {
     this.states.Pop();
     this.states.Push(state);
 }
 public void Push(State state)
 {
     this.states.Push(state);
 }