public void consume(DatabaseElementNode node, XPath targetPath, QueryNodeHandler consumer) {
if (targetPath.size() > 0) {
XPathComponent pathComponent = targetPath.firstElement();
DatabaseGroupNode group = (DatabaseGroupNode)node;
for (int iChild = 0; iChild < group.children().size(); iChild++) {
DatabaseElementNode childNode = group.children().get(iChild);
if (pathComponent.matches(childNode)) {
if (targetPath.size() == 1) {
consumer.handle(childNode);
} else {