pa = XMLUtil.getParentId(doc, gid, la);
pa = XMLUtil.getParentId(doc, pa, la);
	public boolean before(NodeValue other) throws XPathException {		if (other.getImplementationType() != NodeValue.PERSISTENT_NODE)			throw new XPathException("cannot compare persistent node with in-memory node");		NodeProxy node = (NodeProxy) other;		if (doc.docId != node.doc.docId)			return false;		int la = doc.getTreeLevel(gid);		int lb = doc.getTreeLevel(node.gid);		long pa = gid, pb = node.gid;		if (la > lb) {			while (la > lb) {				pa = XMLUtil.getParentId(doc, gid, la);				--la;			}			if (pa == pb)				return false;			else				return pa < pb;		} else if (lb > la) {			while (lb > la) {				pb = XMLUtil.getParentId(node.doc, pb, lb);				--lb;			}			if (pb == pa)				return true;			else				return pa < pb;		} else			return pa < pb;	}