public void OnNext(ICommit commit)
 {
     Contract.Requires <ArgumentNullException>(commit != null, "commit");
     dispatcher.Dispatch(commit);
     checkpointRepo.SaveCheckpoint(commit.CheckpointToken);
 }