### Question:
JAXBAngle implements JAXBWrapper<Coordinates> { @Override public Coordinates getWrappedObject() { return Coordinates.create(myUnits, myMagnitude); } JAXBAngle(Coordinates angle); protected  JAXBAngle(); @Override boolean equals(Object obj); @Override Coordinates getWrappedObject(); @Override int hashCode();  }### Answer:
@Test public void test() throws JAXBException, ClassNotFoundException { Coordinates result; Element el; Coordinates testDD = new DecimalDegrees(24.352); ByteArrayOutputStream baos = new ByteArrayOutputStream(); XMLUtilities.writeXMLObject(new JAXBAngle(testDD), baos); result = XMLUtilities.readXMLObject(new ByteArrayInputStream(baos.toByteArray()), JAXBAngle.class).getWrappedObject(); Assert.assertEquals(result, testDD); baos.reset(); el = XMLUtilities.marshalJAXBableToElement(testDD); result = XMLUtilities.readJAXBableObject(el, Coordinates.class); Assert.assertEquals(result, testDD); Coordinates testDMS = new DegreesMinutesSeconds(24.352); baos.reset(); XMLUtilities.writeXMLObject(new JAXBAngle(testDMS), baos); result = XMLUtilities.readXMLObject(new ByteArrayInputStream(baos.toByteArray()), JAXBAngle.class).getWrappedObject(); Assert.assertEquals(result, testDMS); baos.reset(); el = XMLUtilities.marshalJAXBableToElement(testDMS); result = XMLUtilities.readJAXBableObject(el, Coordinates.class); Assert.assertEquals(result, testDMS); }