docs: public static final boolean isAssignmentCompatible(Class<?> parameterType, Class<?> parameterization) {
          // try plain assignment
          if (parameterType.isAssignableFrom(parameterization)) {
              return true;
          }
  
          if (parameterType.isPrimitive()) {
              // this method does *not* do widening - you must specify exactly
              // is this the right behaviour?
              Class<?> parameterWrapperClazz = getPrimitiveWrapper(parameterType);
              if (parameterWrapperClazz != null) {
                  return parameterWrapperClazz.equals(parameterization);
              }
          }
  
          return false;
      }