addChildren(result, node, proxy, domIter, recursive); } else { p = proxy.getNode(); if (p == null) continue; addChildren(result, p, recursive);
addChildren(result, node, proxy, domIter, 0);
	private final NodeSet getNodes(boolean recursive) {		ArraySet result = new ArraySet(100);		Node p, c;		NodeProxy proxy;		NodeList cl;		Iterator domIter;		for (Iterator i = context.iterator(); i.hasNext();) {			proxy = (NodeProxy) i.next();			if (proxy.gid < 0) {/* // commented out by Timo Boehme (document element is already part of virtual node set (not parent!))				proxy.gid = proxy.doc.getDocumentElementId();*/				// -- inserted by Timo Boehme --				NodeProxy docElemProxy = new NodeProxy(proxy.getDoc(), 1);				result.add(docElemProxy);				if (recursive)					addChildren(result, docElemProxy.getNode(), recursive);				continue;				// -- end of insertion --			}			if (proxy.getBrokerType() == DBBroker.NATIVE) {				domIter = proxy.doc.getBroker().getNodeIterator(proxy);				NodeImpl node = (NodeImpl)domIter.next();				node.setOwnerDocument(proxy.doc);				node.setGID(proxy.gid);				addChildren(result, node, proxy, domIter, recursive);			} else {				p = proxy.getNode();				if (p == null)					continue;				addChildren(result, p, recursive);			}		}		return result;	}