### Question:
PointSetGeometry extends AbstractColorGeometry implements PointRenderPropertiesGeometry { @Override public PointSetGeometry clone() { return (PointSetGeometry)super.clone(); } PointSetGeometry(PointSetGeometry.Builder<?> builder, PointRenderProperties renderProperties, Constraints constraints); @Override PointSetGeometry clone(); @Override Builder<? extends Position> createBuilder(); @Override PointSetGeometry derive(BaseRenderProperties renderProperties, Constraints constraints); List<? extends Color> getColors(); final List<? extends Position> getPositions(); @Override Class<? extends Position> getPositionType(); @Override Position getReferencePoint(); @Override PointRenderProperties getRenderProperties(); @Override boolean jtsIntersectionTests(JTSIntersectionTests test, List<Polygon> polygons, GeometryFactory geomFactory); @Override boolean overlaps(BoundingBox<T> boundingBox, double tolerance); @Override String toString();  }### Answer:
@Test public void testClone() { PointSetGeometry.Builder<GeographicPosition> builder = new PointSetGeometry.Builder<GeographicPosition>(); builder.setDataModelId(3423L); builder.setRapidUpdate(true); List<GeographicPosition> positions = new ArrayList<>(); positions.add(new GeographicPosition(LatLonAlt.createFromDegrees(34., 56.))); positions.add(new GeographicPosition(LatLonAlt.createFromDegrees(35., 55.))); positions.add(new GeographicPosition(LatLonAlt.createFromDegrees(36., 54.))); List<Color> colors = new ArrayList<>(); colors.add(Color.BLACK); colors.add(Color.BLUE); colors.add(Color.GRAY); builder.setPositions(positions); builder.setColors(colors); PointRenderProperties renderProperties1 = new DefaultPointRenderProperties(65763, false, true, true); PointSetGeometry geom = new PointSetGeometry(builder, renderProperties1, null); PointSetGeometry clone = geom.clone(); Assert.assertNotSame(geom, clone); Assert.assertEquals(geom.getDataModelId(), clone.getDataModelId()); Assert.assertEquals(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertEquals(geom.getPositions(), clone.getPositions()); Assert.assertEquals(geom.getColors(), clone.getColors()); Assert.assertEquals(geom.getPositionType(), clone.getPositionType()); Assert.assertEquals(geom.isRapidUpdate(), clone.isRapidUpdate()); Assert.assertNotSame(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertEquals(geom.getRenderProperties(), clone.getRenderProperties()); }