### Question:
Duration extends Message { @Override public Duration clone() { return new Duration(this.data.clone()); } Duration();  Duration(edu.wpi.rail.jrosbridge.primitives.Duration data); edu.wpi.rail.jrosbridge.primitives.Duration getData(); @Override Duration clone(); static Duration fromJsonString(java.lang.String jsonString); static Duration fromMessage(Message m); static Duration fromJsonObject(JsonObject jsonObject); static final java.lang.String FIELD_DATA; static final java.lang.String TYPE; }### Answer:
@Test public void testClone() { Duration clone = t1.clone(); assertEquals(t1.toString(), clone.toString()); assertEquals(t1.toJsonObject(), clone.toJsonObject()); assertEquals(t1.getMessageType(), clone.getMessageType()); assertEquals(t1.getData(), clone.getData()); assertNotSame(t1, clone); assertNotSame(t1.toString(), clone.toString()); assertNotSame(t1.toJsonObject(), clone.toJsonObject()); assertNotSame(t1.getData(), clone.getData()); }