private boolean recoverCachesFromVfsLog(@NotNull VfsLogImpl vfsLog) throws IOException {
    if (!recoveryInProgressMarkerFile.toFile().createNewFile()) {
      LOG.warn("Found \"recovery in progress\" marker. Not performing another recovery attempt"); // probably previous recovery has failed
      return false;
    }
    boolean cachesWereRecovered = false;
    try (var queryContext = vfsLog.query()) {
      cachesWereRecovered = RecoverVfsFromLogService.Companion.recoverSynchronouslyFromLastRecoveryPoint(queryContext);
    }
    catch (Throwable e) {
      LOG.error("VFS Caches recovery attempt has failed", e);
    }
    if (!recoveryInProgressMarkerFile.toFile().delete()) {
      LOG.error("failed to remove \"recovery in progress\" marker");
    }
    return cachesWereRecovered;
  }
private boolean recoverCachesFromVfsLog(@NotNull VfsLogImpl vfsLog)