### Question:
XrayGogglesModel extends Observable implements Cloneable { @Override public XrayGogglesModel clone() { try { return (XrayGogglesModel)super.clone(); } catch (CloneNotSupportedException e) { throw new ExpectedCloneableException(e); } }  @Override XrayGogglesModel clone(); GeographicPosition getCenterGeo(); ScreenPosition getLowerLeft(); GeographicPosition getLowerLeftGeo(); ScreenPosition getLowerRight(); GeographicPosition getLowerRightGeo(); ScreenPosition getUpperLeft(); GeographicPosition getUpperLeftGeo(); ScreenPosition getUpperRight(); GeographicPosition getUpperRightGeo(); Geometry getWindowGeometry(); void setGeoPosition(GeographicPosition upperLeft, GeographicPosition upperRight, GeographicPosition lowerLeft,
            GeographicPosition lowerRight, GeographicPosition center); void setScreenPosition(ScreenPosition upperLeft, ScreenPosition upperRight, ScreenPosition lowerLeft,
            ScreenPosition lowerRight); void setValidator(XrayModelValidator validator); void setWindowGeometry(Geometry windowGeometry); static final String GEO_POSITION; static final String SCREEN_POSITION; static final String XRAY_GOGGLES; }### Answer:
@Test public void testClone() { GeographicPosition upperLeftGeo = new GeographicPosition(LatLonAlt.createFromDegrees(11, 10)); GeographicPosition upperRightGeo = new GeographicPosition(LatLonAlt.createFromDegrees(11, 11)); GeographicPosition lowerLeftGeo = new GeographicPosition(LatLonAlt.createFromDegrees(10, 10)); GeographicPosition lowerRightGeo = new GeographicPosition(LatLonAlt.createFromDegrees(10, 11)); GeographicPosition center = new GeographicPosition(LatLonAlt.createFromDegrees(10.5, 10.5)); ScreenPosition upperLeft = new ScreenPosition(10, 11); ScreenPosition upperRight = new ScreenPosition(11, 11); ScreenPosition lowerLeft = new ScreenPosition(10, 10); ScreenPosition lowerRight = new ScreenPosition(11, 10); XrayGogglesModel model = new XrayGogglesModel(); model.setGeoPosition(upperLeftGeo, upperRightGeo, lowerLeftGeo, lowerRightGeo, center); model.setScreenPosition(upperLeft, upperRight, lowerLeft, lowerRight); model = model.clone(); assertEquals(upperLeftGeo.asVector2d(), model.getUpperLeftGeo().asVector2d()); assertEquals(upperRightGeo.asVector2d(), model.getUpperRightGeo().asVector2d()); assertEquals(lowerLeftGeo.asVector2d(), model.getLowerLeftGeo().asVector2d()); assertEquals(lowerRightGeo.asVector2d(), model.getLowerRightGeo().asVector2d()); assertEquals(center.asVector2d(), model.getCenterGeo().asVector2d()); assertEquals(upperLeft.asVector2d(), model.getUpperLeft().asVector2d()); assertEquals(upperRight.asVector2d(), model.getUpperRight().asVector2d()); assertEquals(lowerLeft.asVector2d(), model.getLowerLeft().asVector2d()); assertEquals(lowerRight.asVector2d(), model.getLowerRight().asVector2d()); }