@Override
  public String toString() {
    String text = this.text;
    if (text == null) {
      this.text = text = StringUtil.join(tokens, t -> t.text, "");
    }
    return text;
  }
@Override
  public String toString()