### Question:
PolylineGeometry extends AbstractColorGeometry { @Override public PolylineGeometry clone() { return (PolylineGeometry)super.clone(); } PolylineGeometry(PolylineGeometry.Builder<?> builder, PolylineRenderProperties renderProperties,
            Constraints constraints); protected  PolylineGeometry(AbstractGeometry.Builder builder, PolylineRenderProperties renderProperties,
            Constraints constraints, boolean smooth, LineType type); boolean areAnyCoordinatesOverlappingOrIntersecting(List<Polygon> polygons, GeometryFactory geomFactory,
            Coordinate[] coords); @Override PolylineGeometry clone(); @Override Builder<? extends Position> createBuilder(); @Override PolylineGeometry derive(BaseRenderProperties renderProperties, Constraints constraints); LineType getLineType(); @Override Class<? extends Position> getPositionType(); @Override Position getReferencePoint(); @Override PolylineRenderProperties getRenderProperties(); List<? extends Position> getVertices(); boolean isLineSmoothing(); @Override boolean jtsIntersectionTests(JTSIntersectionTests test, List<Polygon> polygons, GeometryFactory geomFactory); @SuppressWarnings("unchecked") @Override boolean overlaps(BoundingBox<T> boundingBox, double tolerance); @Override String toString();  }### Answer:
@Test public void testClone() { PolylineGeometry.Builder<GeographicPosition> builder = new PolylineGeometry.Builder<GeographicPosition>(); builder.setDataModelId(3423L); builder.setRapidUpdate(true); builder.setLineSmoothing(true); builder.setLineType(LineType.GREAT_CIRCLE); builder.setVertices(Arrays.asList(new GeographicPosition(LatLonAlt.createFromDegrees(34., 56.)), new GeographicPosition(LatLonAlt.createFromDegrees(35., 57.)))); PolylineRenderProperties renderProperties1 = new DefaultPolylineRenderProperties(65763, false, true); TimeConstraint timeConstraint = TimeConstraint.getTimeConstraint(TimeSpan.get(10L, 20L)); Constraints constraints1 = new Constraints(timeConstraint); PolylineGeometry geom = new PolylineGeometry(builder, renderProperties1, constraints1); PolylineGeometry clone = geom.clone(); Assert.assertNotSame(geom, clone); Assert.assertEquals(geom.getDataModelId(), clone.getDataModelId()); Assert.assertEquals(geom.isRapidUpdate(), clone.isRapidUpdate()); Assert.assertEquals(geom.isLineSmoothing(), clone.isLineSmoothing()); Assert.assertEquals(geom.getLineType(), clone.getLineType()); Assert.assertEquals(geom.getVertices(), clone.getVertices()); Assert.assertNotSame(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertEquals(geom.getRenderProperties(), clone.getRenderProperties()); Assert.assertNotSame(geom.getConstraints(), clone.getConstraints()); Assert.assertEquals(geom.getConstraints(), clone.getConstraints()); }