if (source instanceof NodeInfo || source instanceof DOMSource) {
NodeInfo startNode = controller.prepareInputTree(source);
newdoc = startNode.getDocumentRoot();
} else {
Builder b = controller.makeBuilder();
Stripper s = controller.makeStripper(b);
new Sender(controller.getConfiguration()).send(source, s);
newdoc = b.getCurrentDocument();
}
controller.registerDocument(newdoc, documentKey);
return getFragment(newdoc, fragmentId);