code: public void saveDigestAndRenameCheckpointImage(long txid, MD5Hash digest)
        throws IOException {
      MD5Hash storedDigest = checkpointImageDigests.get(txid);
      if (storedDigest == null || !storedDigest.equals(digest)) {
        throw new IOException("Digest of data written: " + storedDigest
            + " does not match requested digest: " + digest + " for txid: "
            + txid + ", journal: " + journalId);
      }
      imageManager.saveDigestAndRenameCheckpointImage(txid, digest);
      checkpointImageDigests.remove(txid);
    }
docs: Roll the image.