public List parseXML(String root) {
        if (xmlElementsMap.containsKey(root)) {
            return (List) xmlElementsMap.get(root);
        }
        try {
            List xmlElements = new ArrayList();
            xmlElementsMap.put(root, xmlElements);
            currentRoot = root;
            isParsing = false;
            SAXParserFactory factory = SAXParserFactory.newInstance();
            SAXParser saxParser = factory.newSAXParser();
            InputStream in = configuration.getBuilderXML();
            saxParser.parse(in, this);
            return xmlElements;
        } catch (Throwable t) {
            t.printStackTrace();
            throw new DocletAbortException();
        }
    }