docs: @RequestHandler(dynamic = true)
      public void onRequest(Request.In event) {
          if (event.associated(Session.class).isPresent()) {
              return;
          }
          final HttpRequest request = event.httpRequest();
          Optional<String> requestedSessionId = request.findValue(
              HttpField.COOKIE, Converters.COOKIE_LIST)
              .flatMap(cookies -> cookies.stream().filter(
                  cookie -> cookie.getName().equals(idName()))
                  .findFirst().map(HttpCookie::getValue));
          if (requestedSessionId.isPresent()) {
              String sessionId = requestedSessionId.get();
              synchronized (this) {
                  Optional<Session> session = lookupSession(sessionId);
                  if (session.isPresent()) {
                      Instant now = Instant.now();
                      if ((absoluteTimeout <= 0
                          || Duration.between(session.get().createdAt(),
                              now).toMillis() < absoluteTimeout)
                          && (idleTimeout <= 0
                              || Duration.between(session.get().lastUsedAt(),
                                  now).toMillis() < idleTimeout)) {
                          event.setAssociated(Session.class, session.get());
                          session.get().updateLastUsedAt();
                          return;
                      }
                      // Invalidate, too old
                      removeSession(sessionId);
                  }
              }
          }
          String sessionId = createSessionId(request.response().get());
          Session session = createSession(sessionId);
          event.setAssociated(Session.class, session);
      }