code: int processNextNodeType(Node node)
        throws XmlPullParserException {
      switch (node.getNodeType()) {
        case (Node.ATTRIBUTE_NODE): {
          throw new IllegalArgumentException("ATTRIBUTE_NODE");
        }
        case (Node.CDATA_SECTION_NODE): {
          return navigateToNextNode(node);
        }
        case (Node.COMMENT_NODE): {
          return navigateToNextNode(node);
        }
        case (Node.DOCUMENT_FRAGMENT_NODE): {
          throw new IllegalArgumentException("DOCUMENT_FRAGMENT_NODE");
        }
        case (Node.DOCUMENT_NODE): {
          throw new IllegalArgumentException("DOCUMENT_NODE");
        }
        case (Node.DOCUMENT_TYPE_NODE): {
          throw new IllegalArgumentException("DOCUMENT_TYPE_NODE");
        }
        case (Node.ELEMENT_NODE): {
          currentNode = node;
          return START_TAG;
        }
        case (Node.ENTITY_NODE): {
          throw new IllegalArgumentException("ENTITY_NODE");
        }
        case (Node.ENTITY_REFERENCE_NODE): {
          throw new IllegalArgumentException("ENTITY_REFERENCE_NODE");
        }
        case (Node.NOTATION_NODE): {
          throw new IllegalArgumentException("DOCUMENT_TYPE_NODE");
        }
        case (Node.PROCESSING_INSTRUCTION_NODE): {
          throw new IllegalArgumentException("DOCUMENT_TYPE_NODE");
        }
        case (Node.TEXT_NODE): {
          if (isWhitespace(node.getNodeValue())) {
            // Skip whitespaces
            return navigateToNextNode(node);
          } else {
            currentNode = node;
            return TEXT;
          }
        }
        default: {
          throw new RuntimeException(
              "Robolectric -> Unknown node type: " +
                  node.getNodeType() + ".");
        }
      }
    }
docs: /*protected