code: public CacheConfigurationBuilder<K, V> withExpiry(ExpiryPolicy<? super K, ? super V> expiry) {
      if (expiry == null) {
        throw new NullPointerException("Null expiry");
      }
      CacheConfigurationBuilder<K, V> otherBuilder = new CacheConfigurationBuilder<>(this);
      otherBuilder.expiry = expiry;
      return otherBuilder;
    }
docs: Adds {@link ExpiryPolicy} configuration to the returned builder.
  <p>
  {@code ExpiryPolicy} is what controls data freshness in a cache.
  
  @param expiry the expiry to use
  @return a new builder with the added expiry