docs: @Override
      public void startPrefixMapping( String prefix,
                                      String uri ) throws SAXException {
          try {
              if (isUriRegistered(uri) && !StringUtil.isBlank(prefix)) {
                  // It is already registered, but re-register it locally using the supplied prefix ...
                  session.setNamespacePrefix(prefix, uri);
              } else {
                  // The namespace is not already registered so we have to register it with the ws namespace registry.
                  // This should also make the prefix available to the current session
                  NamespaceRegistry namespaceRegistry = (NamespaceRegistry)session.getWorkspace().getNamespaceRegistry();
                  if (StringUtil.isBlank(prefix)) {
                      prefix = namespaceRegistry.registerNamespace(uri);
                  } else {
                      namespaceRegistry.registerNamespace(prefix, uri);
                  }
              }
          } catch (RepositoryException e) {
              throw new SAXException(e);
          }
  
          // Add the prefix to the stack ...
          LinkedList<String> prefixStack = this.prefixStackByUri.get(uri);
          if (prefixStack == null) {
              prefixStack = new LinkedList<String>();
              this.prefixStackByUri.put(uri, prefixStack);
          }
          prefixStack.addFirst(prefix);
      }