default <V> V getOrSupplyDefault(@NonNull CloudKeyHolder<@NonNull V> keyHolder, @NonNull Supplier<V> supplier) {
        return this.optional(keyHolder).orElseGet(supplier);
    }
Returns the value associated with the given {@code keyHolder} if it exists,
or else the value supplied by the given {@code supplier}

@param <V>       the type of the value
@param keyHolder the holder of the key
@param supplier  supplier of the default value
@return the value
cloud-core/src/main/java/org/incendo/cloud/key/CloudKeyContainer.java