### Question:
MultiArrayLayout extends Message { @Override public MultiArrayLayout clone() { return new MultiArrayLayout(this.dim, this.dataOffset); } MultiArrayLayout();  MultiArrayLayout(MultiArrayDimension[] dim, int dataOffset); int size(); MultiArrayDimension get(int index); MultiArrayDimension[] getDim(); int getDataOffset(); @Override MultiArrayLayout clone(); static MultiArrayLayout fromJsonString(java.lang.String jsonString); static MultiArrayLayout fromMessage(Message m); static MultiArrayLayout fromJsonObject(JsonObject jsonObject); static final java.lang.String FIELD_DIM; static final java.lang.String FIELD_DATA_OFFSET; static final java.lang.String TYPE; }### Answer:
@Test public void testClone() { MultiArrayLayout clone = m1.clone(); assertEquals(m1.toString(), clone.toString()); assertEquals(m1.toJsonObject(), clone.toJsonObject()); assertEquals(m1.getMessageType(), clone.getMessageType()); assertTrue(Arrays.deepEquals(m1.getDim(), clone.getDim())); assertEquals(m1.getDataOffset(), clone.getDataOffset()); assertEquals(m1.size(), clone.size()); assertNotSame(m1, clone); assertNotSame(m1.toString(), clone.toString()); assertNotSame(m1.toJsonObject(), clone.toJsonObject()); assertNotSame(m1.getDim(), clone.getDim()); }