### Question:
OAuth2TokenKeyServiceWithCache implements Cacheable { public static OAuth2TokenKeyServiceWithCache getInstance() { OAuth2TokenKeyServiceWithCache instance = new OAuth2TokenKeyServiceWithCache(); instance.cacheTicker = Ticker.systemTicker(); return instance; } private  OAuth2TokenKeyServiceWithCache(); static OAuth2TokenKeyServiceWithCache getInstance(); @Deprecated OAuth2TokenKeyServiceWithCache withCacheTime(int timeInSeconds); @Deprecated OAuth2TokenKeyServiceWithCache withCacheSize(int size); OAuth2TokenKeyServiceWithCache withCacheConfiguration(CacheConfiguration cacheConfiguration); OAuth2TokenKeyServiceWithCache withTokenKeyService(OAuth2TokenKeyService tokenKeyService); @Nullable PublicKey getPublicKey(JwtSignatureAlgorithm keyAlgorithm, String keyId, URI keyUri); @Nonnull @Override CacheConfiguration getCacheConfiguration(); @Override void clearCache(); @Override Object getCacheStatistics(); static String getUniqueCacheKey(JwtSignatureAlgorithm keyAlgorithm, String keyId, URI jwksUri);  }### Answer:
@Test public void getFreshInstance() { assertThat(cut).isNotSameAs(OAuth2TokenKeyServiceWithCache.getInstance()); }