code: @GwtIncompatible("incompatible method")
    public static void isAssignable(final Class<?> superType, @Nullable final Class<?> subType,
        final String message) {
      Assert.notNull(superType, "Super type to check against must not be null");
      if (subType == null || !superType.isAssignableFrom(subType)) {
        Assert.assignableCheckFailed(superType, subType, message);
      }
    }
docs: Assert that {@code superType.isAssignableFrom(subType)} is {@code true}.
  
  <pre class="code">
  Assert.isAssignable(Number.class, myClass, "Number expected");
  </pre>
  
  @param superType the super type to check against
  @param subType the sub type to check
  @param message a message which will be prepended to provide further context. If it is empty or
  ends in ":" or ";" or "," or ".", a full exception message will be appended. If it ends
  in a space, the name of the offending sub type will be appended. In any other case, a
  ":" with a space and the name of the offending sub type will be appended.
  @throws IllegalArgumentException if the classes are not assignable