@Override protected Map<String, Number> parseStream(InputStream stream) { XmlProvider xmlstarter = find(XmlProvider.class); if(xmlstarter == null) { log(Level.ERROR, "XML Provider not found"); return null; } Document d = xmlstarter.getDocument(stream); if (! validateXml(xmlstarter, d)) { return null; } setUptime(findUptime(xmlstarter, d)); Map<String, Number> vars = new HashMap<>(collectKeys.size()); for (Map.Entry<XPathExpression, Number> e: xmlstarter.fileFromXpaths(d, collectKeys.keySet()).entrySet()) { vars.put(collectKeys.get(e.getKey()), e.getValue()); } log(Level.TRACE, "Values found: %s", vars); log(Level.TRACE, "%s", vars); vars = dom2Map(d, vars); log(Level.TRACE, "%s", vars); return vars; }