private void parseStartLevel(Node node) throws TemplateException {
        try {
            XPath xPath = XPathFactory.newInstance().newXPath();
            NodeList nodeList = (NodeList) xPath.evaluate("element/interleave/ref", node, XPathConstants.NODESET);
            for (int i = 0, len = nodeList.getLength(); i < len; i++) {
                Node currentNode = nodeList.item(i);
                if (currentNode.getNodeType() == Node.ELEMENT_NODE) {
                    Element currentElement = (Element) currentNode;
                    // calls this method for all the children which is Element
                    parseReference(tagBody, currentElement.getAttribute("name"), 0);
                }
            }
        }
        catch (XPathExpressionException e) {
            throw new TemplateException("XPathExpressionException", e);
        }
    }