Union extends BinaryExpr { @Override @Nonnull public GeoRectangle boundingBox() { final GeoRectangle a = opLeft.boundingBox(); final GeoRectangle b = opRight.boundingBox(); return a.grow(b); } Union(
            @Nonnull final GeoArea opLeft,
            @Nonnull final GeoArea opRight); @Override boolean overlaps(@Nonnull final GeoArea area); @Override boolean contains(@Nonnull final GeoArea area); @Override boolean contains(@Nonnull final GeoPoint point); @Nonnull @Override Union translate(@Nonnull final GeoVector vector); @Nonnull @Override Union moveTo(@Nonnull final GeoPoint origin); @Override @Nonnull GeoRectangle boundingBox(); @Override boolean canEqual(@Nonnull final Object obj); @Override boolean equals(@Nullable final Object obj); @Override int hashCode();  }
@Test public void testBoundingBox() { LOG.info("testBoundingBox"); final GeoCircle a1 = new GeoCircle(new GeoPoint(1.0, 1.0), Geo.metersToDegreesLonAtLat(2, 1)); final GeoRectangle b1 = new GeoRectangle(new GeoPoint(-1.0, -1.0), new GeoPoint(3.0, 3.0)); final Union u = new Union(a1, b1); Assert.assertTrue(b1.equals(u.boundingBox())); }