### Question:
PoseArray extends Message { @Override public PoseArray clone() { return new PoseArray(this.header, this.poses); } PoseArray();  PoseArray(Header header, Pose[] poses); int size(); Pose get(int index); Pose[] getPoses(); Header getHeader(); @Override PoseArray clone(); static PoseArray fromJsonString(String jsonString); static PoseArray fromMessage(Message m); static PoseArray fromJsonObject(JsonObject jsonObject); static final String FIELD_HEADER; static final String FIELD_POSES; static final String TYPE; }### Answer:
@Test public void testClone() { PoseArray clone = p1.clone(); assertEquals(p1.toString(), clone.toString()); assertEquals(p1.toJsonObject(), clone.toJsonObject()); assertEquals(p1.getMessageType(), clone.getMessageType()); assertEquals(p1.getHeader(), clone.getHeader()); assertTrue(Arrays.deepEquals(p1.getPoses(), clone.getPoses())); assertEquals(p1.size(), clone.size()); assertNotSame(p1, clone); assertNotSame(p1.toString(), clone.toString()); assertNotSame(p1.toJsonObject(), clone.toJsonObject()); assertNotSame(p1.getPoses(), clone.getPoses()); }