goja-core/src/main/java/goja/core/kits/reflect/ClassKit.java
public static boolean isAssignableValue(Class<?> type, Object value) {
        Preconditions.checkNotNull(type, "Type must not be null");
        return (value != null ? isAssignable(type, value.getClass()) : !type.isPrimitive());
    }
public static boolean isAssignableValue(Class<?> type, Object value) {
        Preconditions.checkNotNull(type, "Type must not be null");
        return (value != null ? isAssignable(type, value.getClass()) : !type.isPrimitive());
    }
Determine if the given type is assignable from the given value,
assuming setting by reflection. Considers primitive wrapper classes
as assignable to the corresponding primitive types.

@param type  the target type
@param value the value that should be assigned to the type
@return if the type is assignable from the value