code: private Iterable<Info<T, R>> find(final double topLeftLat, final double topLeftLon,
              final double bottomRightLat, final double bottomRightLon, long start, long finish,
              String withinHash) {
  
          Iterable<Info<T, R>> it = find(start, finish, withinHash);
          return Iterables.filter(it,
                  createRegionFilter(topLeftLat, topLeftLon, bottomRightLat, bottomRightLon));
      }
docs: Returns an {@link Iterable} of {@link Info} being those records within
  the bounding box, start<=time < finish and inside the geoHash withinHash.
  
  Filters first on withinHash, then time, then bounding box.
  
  @param topLeftLat
  latitude of top left point (north west)
  @param topLeftLon
  longitude of top left point (north west)
  @param bottomRightLat
  latitude of bottom right point (south east)
  @param bottomRightLon
  longitude of bottom right point (south east)
  @param start
  start time inclusive
  @param finish
  finish time exclusive
  @param withinHash
  items returned are within this hash
  @return Info records