public static <T> WeakValue<T> of(T value) {
        Objects.requireNonNull(value, "value");
        return new WeakValue<>(value);
    }
Represents a value wrapped in a {@link WeakReference}

@param <T> the wrapped value type
helper/src/main/java/me/lucko/helper/metadata/WeakValue.java