### Question:
PolygonGeometry extends PolylineGeometry { @Override public PolygonGeometry clone() { return (PolygonGeometry)super.clone(); } PolygonGeometry(PolygonGeometry.Builder<?> builder, PolygonRenderProperties renderProperties, Constraints constraints); protected  PolygonGeometry(PolygonGeometry.Builder<?> builder, PolygonRenderProperties renderProperties,
            Constraints constraints, boolean smooth, LineType type); @Override PolygonGeometry clone(); @Override Builder<? extends Position> createBuilder(); @Override PolygonGeometry derive(BaseRenderProperties renderProperties, Constraints constraints); Collection<? extends List<? extends Position>> getHoles(); @Override PolygonRenderProperties getRenderProperties(); @Override boolean jtsIntersectionTests(JTSIntersectionTests test, List<Polygon> polygons, GeometryFactory geomFactory);  }### Answer:
@Test public void testClone() { PolygonGeometry.Builder<GeographicPosition> builder = new PolygonGeometry.Builder<GeographicPosition>(); builder.setDataModelId(3423L); builder.setLineSmoothing(true); builder.setLineType(LineType.GREAT_CIRCLE); builder.setRapidUpdate(true); builder.setVertices(Arrays.asList(new GeographicPosition(LatLonAlt.createFromDegrees(34., 56.)), new GeographicPosition(LatLonAlt.createFromDegrees(35., 57.)))); PolygonRenderProperties renderProperties1 = new DefaultPolygonRenderProperties(65763, false, true); TimeConstraint timeConstraint = TimeConstraint.getTimeConstraint(TimeSpan.get(10L, 20L)); Constraints constraints1 = new Constraints(timeConstraint); PolygonGeometry geom = new PolygonGeometry(builder, renderProperties1, constraints1); PolygonGeometry clone = geom.clone(); Assert.assertNotSame(geom, clone); Assert.assertEquals(geom.getDataModelId(), clone.getDataModelId()); Assert.assertEquals(geom.isLineSmoothing(), ((PolylineGeometry)clone).isLineSmoothing()); Assert.assertEquals(geom.getLineType(), ((PolylineGeometry)clone).getLineType()); Assert.assertEquals(geom.getVertices(), ((PolylineGeometry)clone).getVertices()); Assert.assertEquals(geom.isRapidUpdate(), clone.isRapidUpdate()); Assert.assertNotSame(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertEquals(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertNotSame(geom.getConstraints(), clone.getConstraints()); Assert.assertEquals(geom.getConstraints(), clone.getConstraints()); }