assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
// try to remove without a protection key
Parameters parameters2 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
.setContentKey(contentKey).setVersionKey(data1.getVersionKey()).setData(data1);
FutureRemove futureRemove = node.getDataManager().removeVersionUnblocked(parameters2);
futureRemove.awaitUninterruptibly();
// should have been not modified
futureGet = node.getDataManager().getVersionUnblocked(parameters1);
futureGet.awaitUninterruptibly();
assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
// try to remove with wrong protection key
Parameters parameters3 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
.setContentKey(contentKey).setVersionKey(data1.getVersionKey())
.setProtectionKeys(protectionKey2);
futureRemove = node.getDataManager().removeVersionUnblocked(parameters3);
futureRemove.awaitUninterruptibly();
// should have been not modified
futureGet = node.getDataManager().getVersionUnblocked(parameters1);
futureGet.awaitUninterruptibly();
assertEquals(data1.getTestString(), ((H2HTestData) futureGet.getData().object()).getTestString());
// remove with correct content protection key
Parameters parameters4 = new Parameters().setLocationKey(locationKey).setDomainKey(domainKey)
.setContentKey(contentKey).setVersionKey(data1.getVersionKey()).setData(data1)
.setProtectionKeys(protectionKey1);
futureRemove = node.getDataManager().removeVersionUnblocked(parameters4);
futureRemove.awaitUninterruptibly();
// should have been removed
futureGet = node.getDataManager().getVersionUnblocked(parameters1);
futureGet.awaitUninterruptibly();
assertNull(futureGet.getData());