public Document getDocument(InputSource stream) {
DocumentBuilder dbuilder = localDocumentBuilder.get();
Document d = null;
log(Level.TRACE, "%s %s %s started %s@%s", stream, dbuilder, isStarted(), getClass().getName(), Integer.toHexString(hashCode()));
try {
dbuilder.reset();
d = dbuilder.parse(stream);
log(Level.TRACE, "just parsed a %s", d.getDocumentElement().getTagName());
} catch (SAXException e) {
log(Level.ERROR, e, "Invalid XML: %s", e.getMessage());
} catch (IOException e) {
log(Level.ERROR, e, "IO Exception getting values: %s", e.getMessage());
}
return d;
}