assertNotNull(restored.getProperties());
assertEquals(3, restored.getProperties().size());
// Test 1D
ArrayValue test1D = (ArrayValue) restored.getProperty("test1D").getValue();
assertNotNull(test1D);
char[] unwrapped1D = (char[]) getMVF().unwrap(test1D);
assertNotNull(unwrapped1D);
assertTrue(Arrays.equals(init1D(), unwrapped1D));
// Test 2D
ArrayValue test2D = (ArrayValue) restored.getProperty("test2D").getValue();
assertNotNull(test2D);
assertEquals(2, test2D.getMetaType().getDimension());
char[][] unwrapped2D = (char[][]) getMVF().unwrap(test2D);
assertNotNull(unwrapped2D);
assertEquals(2, unwrapped2D.length);
assertEquals('a', unwrapped2D[0][0]);
assertEquals('f', unwrapped2D[1][1]);
// Test 3D
ArrayValue test3D = (ArrayValue) restored.getProperty("test3D").getValue();
assertNotNull(test3D);
assertEquals(3, test3D.getMetaType().getDimension());
char[][][] unwrapped3D = (char[][][]) getMVF().unwrap(test3D);
assertNotNull(unwrapped3D);
assertEquals(3, unwrapped3D[0].length);