### Question:
UInt8MultiArray extends Message { public static UInt8MultiArray fromJsonObject(JsonObject jsonObject) { MultiArrayLayout layout = jsonObject .containsKey(UInt8MultiArray.FIELD_LAYOUT) ? MultiArrayLayout .fromJsonObject(jsonObject .getJsonObject(UInt8MultiArray.FIELD_LAYOUT)) : new MultiArrayLayout(); byte[] data = new byte[] {}; JsonArray jsonData = jsonObject .getJsonArray(UInt8MultiArray.FIELD_DATA); if (jsonData != null) { data = new byte[jsonData.size()]; for (int i = 0; i < data.length; i++) { data[i] = Primitive.toUInt8((short) jsonData.getInt(i)); } } return new UInt8MultiArray(layout, data); } UInt8MultiArray();  UInt8MultiArray(MultiArrayLayout layout, byte[] data); MultiArrayLayout getLayout(); int size(); byte get(int index); byte[] getData(); @Override UInt8MultiArray clone(); static UInt8MultiArray fromJsonString(java.lang.String jsonString); static UInt8MultiArray fromMessage(Message m); static UInt8MultiArray fromJsonObject(JsonObject jsonObject); static final java.lang.String FIELD_LAYOUT; static final java.lang.String FIELD_DATA; static final java.lang.String TYPE; }### Answer:
@Test public void testFromJsonObject() { JsonArrayBuilder array = Json.createArrayBuilder(); for (byte d : a1.getData()) { array.add(d); } JsonObject jsonObject = Json .createObjectBuilder() .add(UInt8MultiArray.FIELD_DATA, array.build()) .add(UInt8MultiArray.FIELD_LAYOUT, a1.getLayout().toJsonObject()).build(); UInt8MultiArray p = UInt8MultiArray.fromJsonObject(jsonObject); assertEquals(a1.toString(), p.toString()); assertEquals(a1.toJsonObject(), p.toJsonObject()); assertEquals(a1.getMessageType(), p.getMessageType()); assertTrue(Arrays.equals(a1.getData(), p.getData())); assertEquals(a1.getLayout(), p.getLayout()); assertNotSame(a1, p); assertNotSame(a1.toString(), p.toString()); assertNotSame(a1.toJsonObject(), p.toJsonObject()); assertEquals(a1.size(), p.size()); }