code: public static Class isAssignableTo(final Class<?> reference, final Class<?> toValue, final String message) {
          return precondition(reference, new Predicate<Class>() {
              @Override
              public boolean test(Class testValue) {
                  return toValue.isAssignableFrom(testValue);
              }
          }, ClassCastException.class, message);
      }
docs: Check that one class is assignable to another.
  
  @param reference the class to test
  @param toValue   the class assigning to
  @param message   the message used in the exception if thrown
  @throws ClassCastException if the assignment can not be made