docs: private synchronized void scheduleKeepAlive(long lastKeepAliveTime, long timeout, long delta) {
      Scheduled keepAliveFuture = keepAliveTimers.remove(timeout);
      if (keepAliveFuture != null) {
        keepAliveFuture.cancel();
      }
  
      // Schedule the keep alive for 3/4 the timeout minus the delta from the last keep-alive request.
      keepAliveTimers.put(timeout, threadContext.schedule(Duration.ofMillis(Math.max(Math.max((long) (timeout * TIMEOUT_FACTOR) - delta, timeout - MIN_TIMEOUT_DELTA - delta), 0)), () -> {
        if (open.get()) {
          keepAliveSessions(lastKeepAliveTime, timeout);
        }
      }));
    }