code: @GwtIncompatible("incompatible method")
    public static void isAssignable(final Class<?> superType, @Nullable final Class<?> subType,
        final Supplier<String> messageSupplier) {
      Assert.notNull(superType, "Super type to check against must not be null");
      if (subType == null || !superType.isAssignableFrom(subType)) {
        Assert.assignableCheckFailed(superType, subType, Assert.nullSafeGet(messageSupplier));
      }
    }
docs: Assert that {@code superType.isAssignableFrom(subType)} is {@code true}.
  
  <pre class="code">
  Assert.isAssignable(Number.class, myClass, () -&gt; "Processing " + myAttributeName + ":");
  </pre>
  
  @param superType the super type to check against
  @param subType the sub type to check
  @param messageSupplier a supplier for the exception message to use if the assertion fails. See
  {@link #isAssignable(Class, Class, String)} for details.
  @throws IllegalArgumentException if the classes are not assignable
  @since 5.0