class Circle implements Shape {

    @Override
    public boolean intersects(Shape o) {
        if (o instanceof Circle) {
            return intersects((Circle) o);
        } else if (o instanceof BBox) {
            return intersects((BBox) o);
        }

        return o.intersects(this);
    }

    public  Circle(double lat, double lon, double radiusInMeter);
    public  Circle(double lat, double lon, double radiusInMeter, DistanceCalc calc);

}