private int[] countXingDataEntries(final Collection<SpatialEntry> entries, final HyperBoundingBox mbr, int[] numOf) {
    for(SpatialEntry entry : entries) {
      if(entry instanceof LeafEntry) {
        numOf[0]++;
        if(SpatialUtil.intersects(mbr, entry)) {
          numOf[1]++;
        }
      }
      else {
        N node = tree.getNode(((DirectoryEntry) entry).getPageID());
        countXingDataEntries(node.getEntries(), mbr, numOf);
      }
    }
    return numOf;
  }
private int [ ] countXingDataEntries ( final Collection < SpatialEntry > entries , final HyperBoundingBox mbr , int [ ] numOf ) { for ( SpatialEntry entry : entries ) { if ( entry instanceof LeafEntry ) { numOf [ 0 ] ++ ; if ( SpatialUtil . intersects ( mbr , entry ) ) { numOf [ 1 ] ++ ; } } else { N node = tree . getNode ( ( ( DirectoryEntry ) entry ) . getPageID ( ) ) ; countXingDataEntries ( node . getEntries ( ) , mbr , numOf ) ; } } return numOf ; }
Count all data objects under entries and whether they intersect the given
MBR <code>mbr</code> into <code>numOf</code>.

@param entries
@param mbr
@param numOf array of two integers, the first one is to be filled with the
total number of data objects, the second one with the number of data
objects intersecting <code>mbr</code>
@return == the (probably modified) integer array <code>numOf</code>: the
first field is the total number of data objects, the second the
number of data objects intersecting <code>mbr</code>