docs: void apply() {
          final FlushLog log = new FlushLog();
          store.logOperations(txn, log);
          final BlobVault blobVault = store.getBlobVault();
          if (blobVault.requiresTxn()) {
              try {
                  blobVault.flushBlobs(blobStreams, blobFiles, deferredBlobsToDelete, txn);
              } catch (Exception e) {
                  // out of disk space not expected there
                  throw ExodusException.toEntityStoreException(e);
              }
          }
          txn.setCommitHook(new Runnable() {
              @Override
              public void run() {
                  log.flushed();
                  final EntityIterableCacheAdapterMutable cache = PersistentStoreTransaction.this.mutableCache;
                  if (cache != null) { // mutableCache can be null if only blobs are modified
                      applyAtomicCaches(cache);
                  }
              }
          });
      }