class GeometryCalculator {

    public List<AbstractTileGeometry<?>> getContainingGeometries(Collection<? extends AbstractTileGeometry<?>> geometries, GeographicBoundingBox boundingBox)
    {
        List<AbstractTileGeometry<?>> containingGeometries = New.list();

        for (AbstractTileGeometry<?> geometry : geometries)
        {
            if (overlaps(geometry, boundingBox))
            {
                containingGeometries.add(geometry);
            }
        }

        return containingGeometries;
    }

}