public void testCanPersistOnlySomeDeltas() throws Exception {
    appendDeltas(d1, d2, d3);
    Future<Void> future = target.persist(d2.getResultingVersion());
    awaitPersistence();
    assertTrue(future.isDone());
    assertEquals(null, future.get());
    assertEquals(d2.getResultingVersion(), target.getLastPersistedVersion());

    future = target.persist(d3.getResultingVersion());
    awaitPersistence();
    assertTrue(future.isDone());
    assertEquals(null, future.get());
    assertEquals(d3.getResultingVersion(), target.getLastPersistedVersion());
  }
 public void checkManyDeltasPersistFutureDone() throws Exception {
   appendDeltas(d1, d2, d3);
   Future<Void> future = target.persist(d3.getResultingVersion());
   awaitPersistence();
   assertTrue(future.isDone());
   assertEquals(null, future.get());
   assertEquals(d3.getResultingVersion(), target.getLastPersistedVersion());
 }