CheckpointAndChangeQueue q = new CheckpointAndChangeQueue(changeSource,
persistDir, internalFactory, clientFactory);
q.setMaximumQueueSize(2);
q.start(null);
String checkpoint = null;
checkpoint = checkChangesAndReturnLastCheckpoint(q.resume(checkpoint), 0, 2);
checkpoint = checkChangesAndReturnLastCheckpoint(q.resume(checkpoint), 2, 2);
checkpoint = checkChangesAndReturnLastCheckpoint(q.resume(checkpoint), 4, 2);
checkpoint = checkChangesAndReturnLastCheckpoint(q.resume(checkpoint), 0, 0);
checkpoint = checkChangesAndReturnLastCheckpoint(q.resume(checkpoint), 0, 0);
assertFalse(q.resume(checkpoint).iterator().hasNext());