code: @Nonnull
    public static Document newDocument (@Nonnull final DocumentBuilder aDocBuilder,
                                        @Nullable final EXMLVersion eVersion,
                                        @Nonnull final String sQualifiedName,
                                        @Nullable final String sPublicId,
                                        @Nullable final String sSystemId)
    {
      ValueEnforcer.notNull (aDocBuilder, "DocBuilder");
  
      final DOMImplementation aDomImpl = aDocBuilder.getDOMImplementation ();
      final DocumentType aDocType = aDomImpl.createDocumentType (sQualifiedName, sPublicId, sSystemId);
  
      final Document aDoc = aDomImpl.createDocument (sSystemId, sQualifiedName, aDocType);
      aDoc.setXmlVersion ((eVersion != null ? eVersion : EXMLVersion.XML_10).getVersion ());
      return aDoc;
    }
docs: Create a new document with a document type using a custom document builder.
  
  @param aDocBuilder
  the document builder to be used. May not be <code>null</code>.
  @param eVersion
  The XML version to use. If <code>null</code> is passed,
  {@link EXMLVersion#XML_10} will be used.
  @param sQualifiedName
  The qualified name to use.
  @param sPublicId
  The public ID of the document type.
  @param sSystemId
  The system ID of the document type.
  @return The created document. Never <code>null</code>.