private void getNode(NodeList nodeList, List<String> path, int pathDepth)
            throws XmlPathNotFoundException {
        for (int i = 0; i < nodeList.getLength(); i += 1) {
            Node node = nodeList.item(i);
            // get rid of {enter}, the empty node
            if (node.getNodeType() != Node.ELEMENT_NODE) {
                continue;
            }
            if (path.get(pathDepth).equals(node.getNodeName())) {
                if (pathDepth == path.size() - 1) {
                    this.requiredNodes.add(node);
                } else {
                    getNode(node.getChildNodes(), path, pathDepth + 1);
                }
            }
        }
        if (this.requiredNodes.size() == 0) {
            throw new XmlPathNotFoundException();
        }
    }