docs: public void writeNamespace(final String prefix, final String uri) {
          if (!openStartElement) {
              throw new IllegalStateException("Current state does not allow Namespace writing");
          }
          final QName qName = elementStack.getFirst(); // peek
          for (final NamespaceMapping p: qName.mappings) {
              if (p.prefix.equals(prefix) && p.uri.equals(uri)) {
                  return;
              } else if (p.prefix.equals(prefix)) {
                  throw new IllegalArgumentException("Prefix " + prefix + " already bound to " + uri);
              }
          }
          qName.mappings.add(new NamespaceMapping(prefix, uri, true));
      }