branch = store.branch();
root = branch.getHead().builder();
parent = root.child("parent");
parent.child("child-moved").setProperty("foo", "value");
parent.child("child-moved").setProperty(
new MultiStringPropertyState("bar", Arrays.asList("value")));
branch.setRoot(root.getNodeState());
branch.merge(EmptyHook.INSTANCE, PostCommitHook.EMPTY);
diff = new Diff();
store.getRoot().compareAgainstBaseState(base, diff);
assertEquals(0, diff.removed.size());
assertEquals(0, diff.added.size());
assertEquals(2, diff.addedProperties.size());
assertTrue(diff.addedProperties.contains("foo"));
assertTrue(diff.addedProperties.contains("bar"));
base = store.getRoot();
branch = store.branch();
root = branch.getHead().builder();
parent = root.child("parent");
parent.setProperty("foo", "value");
parent.setProperty(new MultiStringPropertyState(
"bar", Arrays.asList("value")));
branch.setRoot(root.getNodeState());
branch.merge(EmptyHook.INSTANCE, PostCommitHook.EMPTY);
diff = new Diff();