@Override
  public void push(@NotNull DfaValue value) {
    assert value.getFactory() == myFactory : value;
    myCachedHash = null;
    myStack.push(value);
  }
@Override
  public void push(@NotNull DfaValue value)