@Override
  public JWKSet getJWKSet(JWKSetCacheRefreshEvaluator refreshEvaluator, long currentTime, T context)
      throws KeySourceException {
    var jwksUrl = discoverJwksUrl();
    try (var jwkSetSource = new URLBasedJWKSetSource<>(jwksUrl, new HttpRetriever(httpClient))) {
      return jwkSetSource.getJWKSet(null, 0, context);
    } catch (IOException e) {
      throw new RemoteKeySourceException(
          "failed to fetch jwks from discovery document '%s'".formatted(discoveryUrl), e);
    }
  }
@Test
  void getJWKSet_badDiscoveryUrl() {

    var discoveryUrl = URI.create("http://badURi");

    var sut = new DiscoveryJwkSetSource<>(HttpClient.newHttpClient(), discoveryUrl);

    assertThrows(RemoteKeySourceException.class, () -> sut.getJWKSet(null, 0, null));
  }