@Override
  @Contract(pure = true)
  public @NlsSafe @NotNull String toString() {
    StringBuilder builder = new StringBuilder();
    appendTo(builder);
    return builder.toString();
  }
@Override
  @Contract(pure = true)
  public @NlsSafe @NotNull String toString()