public Hit get(URI id, int depth) {
        updateHits();
        for (Iterator<Hit> i = unorderedIterator(); i.hasNext();) {
            Hit hit = i.next();
            URI hitUri = hit.getId();

            if (hitUri != null && hitUri.equals(id)) {
                return hit;
            }

            if (hit instanceof HitGroup && depth != 0) {
                Hit found=((HitGroup)hit).get(id,depth-1);
                if (found!=null) return found;
            }
        }
        return null;
    }
Returns the hit with the given id, or null if there is no hit with this id
in this group or any subgroup.
This method is o(min(number of nested hits in this result, depth)).

@param id the id of the hit to return from this or any nested group
@param depth the max depth to recurse into nested groups: -1: Recurse infinitely deep, 0: Only look at hits in
       the list of this group, 1: Look at hits in this group, and the hits of any immediate nested HitGroups,
       etc.
@return the hit, or null if not found
container-search/src/main/java/com/yahoo/search/result/HitGroup.java