@Contract(pure = true)
    public @NotNull Element attr(@NonNls String name, @NotNull String value) {
      return new Element(myTagName, myAttributes.with(name, value), myChildren);
    }
@Contract(pure = true)
    public @NotNull Element attr(@NonNls String name, @NotNull String value)