GeometryBuilder { public Polygon circle(double x, double y, double radius, int nsides) { return ellipse(x - radius, y - radius, x + radius, y + radius, nsides); } GeometryBuilder();  GeometryBuilder(GeometryFactory geomFact); Point point(); Point pointZ(); Point point(double x); Point point(double x, double y); Point pointZ(double x, double y, double z); LineString lineString(); LineString lineStringZ(); LineString lineString(double... ord); LineString lineStringZ(double... ord); LinearRing linearRing(); LinearRing linearRingZ(); LinearRing linearRing(double... ord); LinearRing linearRingZ(double... ord); Polygon polygon(); Polygon polygonZ(); Polygon polygon(double... ord); Polygon polygonZ(double... ord); Polygon polygon(LinearRing shell); Polygon polygon(LinearRing shell, LinearRing hole); Polygon polygon(Polygon shell, Polygon hole); Polygon box(double x1, double y1, double x2, double y2); Polygon boxZ(double x1, double y1, double x2, double y2, double z); Polygon ellipse(double x1, double y1, double x2, double y2, int nsides); Polygon circle(double x, double y, double radius, int nsides); MultiPoint multiPoint(double x1, double y1, double x2, double y2); MultiPoint multiPointZ(double x1, double y1, double z1, double x2,
            double y2, double z2); MultiLineString multiLineString(LineString... lines); MultiPolygon multiPolygon(Polygon... polys); GeometryCollection geometryCollection(Geometry... geoms);  }
@Test public void circle() throws Exception { double radius = SQUARE_ENV.getWidth() / 2; Polygon p = builder.circle( SQUARE_ENV.getMinX() + radius, SQUARE_ENV.getMinY() + radius, radius, getNumSides(SQUARE_ENV)); assertBounds(SQUARE_ENV, p.getEnvelopeInternal(), 0.01); }