docs: private void validateXmlTree(Node received, Node source, 
              XmlMessageValidationContext validationContext, NamespaceContext namespaceContext, TestContext context) {
          switch(received.getNodeType()) {
              case Node.DOCUMENT_TYPE_NODE:
                  doDocumentTypeDefinition(received, source, validationContext, namespaceContext, context);
                  break;
              case Node.DOCUMENT_NODE:
                  validateXmlTree(received.getFirstChild(), source.getFirstChild(),
                          validationContext, namespaceContext, context);
                  break;
              case Node.ELEMENT_NODE:
                  doElement(received, source, validationContext, namespaceContext, context);
                  break;
              case Node.ATTRIBUTE_NODE:
                  throw new IllegalStateException();
              case Node.COMMENT_NODE:
                  validateXmlTree(received.getNextSibling(), source,
                          validationContext, namespaceContext, context);
                  break;
              case Node.PROCESSING_INSTRUCTION_NODE:
                  doPI(received);
                  break;
          }
      }