### Question:
EllipseScalableGeometry extends AbstractScalableGeometry { @Override public EllipseScalableGeometry clone() { return (EllipseScalableGeometry)super.clone(); } EllipseScalableGeometry(EllipseScalableGeometry.Builder builder, ScalableRenderProperties renderProperties,
            Constraints constraints); @Override EllipseScalableGeometry clone(); @Override Builder createBuilder(); @Override EllipseScalableGeometry derive(BaseRenderProperties renderProperties, Constraints constraints); float getAngle(); int getPointsNumber(); Projection getProjection(); float getSemiMajorAxis(); float getSemiMinorAxis();  }### Answer:
@Test public void testClone() { EllipseScalableGeometry.Builder builder = new EllipseScalableGeometry.Builder(); builder.setDataModelId(3423L); builder.setRapidUpdate(true); builder.setAngleDegrees(.8f); builder.setPointsNumber(21); builder.setSemiMajorAxis(.02f); builder.setSemiMinorAxis(.01f); builder.setPosition(new GeographicPosition(LatLonAlt.createFromDegrees(34., 56.))); ScalableRenderProperties renderProperties1 = new DefaultScalableRenderProperties(65763, false, true, false); TimeConstraint timeConstraint = TimeConstraint.getTimeConstraint(TimeSpan.get(10L, 20L)); Constraints constraints1 = new Constraints(timeConstraint); EllipseScalableGeometry geom = new EllipseScalableGeometry(builder, renderProperties1, constraints1); EllipseScalableGeometry clone = geom.clone(); Assert.assertNotSame(geom, clone); Assert.assertEquals(geom.getDataModelId(), clone.getDataModelId()); Assert.assertEquals(geom.getAngle(), clone.getAngle(), 0.f); Assert.assertEquals(geom.getSemiMajorAxis(), clone.getSemiMajorAxis(), 0.f); Assert.assertEquals(geom.getSemiMinorAxis(), clone.getSemiMinorAxis(), 0.f); Assert.assertEquals(geom.getPointsNumber(), clone.getPointsNumber()); Assert.assertEquals(geom.getPolygonVertexCount(), clone.getPolygonVertexCount()); Assert.assertEquals(geom.getPosition(), clone.getPosition()); Assert.assertEquals(geom.getColors(), clone.getColors()); Assert.assertEquals(geom.getNormals(), clone.getNormals()); Assert.assertEquals(geom.getPositions(), clone.getPositions()); 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()); }