goja-core/src/main/java/goja/core/kits/reflect/Reflect.java
public static boolean isSubclass(Class thisClass, Class target) {
        if (target.isInterface()) {
            return isInterfaceImpl(thisClass, target);
        }
        for (Class x = thisClass; x != null; x = x.getSuperclass()) {
            if (x == target) {
                return true;
            }
        }
        return false;
    }
public static boolean isSubclass(Class thisClass, Class target) {
        if (target.isInterface()) {
            return isInterfaceImpl(thisClass, target);
        }
        for (Class x = thisClass; x != null; x = x.getSuperclass()) {
            if (x == target) {
                return true;
            }
        }
        return false;
    }
Determines if first class match the destination and simulates kind of <code>instanceof</code>.
All subclasses and interface of first class are examined against second class. Method is not
symmetric.