default <V extends @NonNull Object> V get(@NonNull CloudKey<V> key) {
        return this.optional(key).orElseThrow(() -> new NullPointerException(
                String.format("There is no object in the registry identified by the key '%s'", key.name())
        ));
    }
Returns the value associated with the given {@code key} or fails exceptionally if it's missing.

@param <V> the type of the value
@param key the key
@return the value
@throws NullPointerException if the value is missing
cloud-core/src/main/java/org/incendo/cloud/key/CloudKeyContainer.java