@Nullable
  @Override
  public Session load(@NonNull String sessionId) {
    var session = store.getIfPresent(sessionId);
    if (session == null || session.createdAt().plus(timeToLive).isBefore(Instant.now())) {
      return null;
    }
    return session;
  }
@Test
  void load_realCache() {

    var ttl = Duration.ofMinutes(5);
    Cache<String, Session> cache =
        Caffeine.newBuilder()
            .expireAfter(new AfterCreatedExpiry(ttl.toNanos()))
            .maximumSize(1000)
            .build();
    var sut = new CaffeineSessionRepo(cache, ttl);

    var state = "myState";
    var nonce = UUID.randomUUID().toString();
    var redirectUri = URI.create("https://example.com/callback");
    var clientId = "app";

    var sesionIds = IntStream.range(0, 100).mapToObj(Integer::toString).toList();

    sesionIds.stream()
        .map(
            i ->
                Session.create()
                    .id(i)
                    .state(state)
                    .nonce(nonce)
                    .redirectUri(redirectUri)
                    .clientId(clientId)
                    .build())
        .forEach(sut::save);

    sesionIds.forEach(
        id -> {

          // when
          var got = sut.load(id);

          // then
          assertNotNull(got);
          assertEquals(id, got.id());
          assertEquals(state, got.state());
          assertEquals(redirectUri, got.redirectUri());
          assertEquals(clientId, got.clientId());
        });
  }