public static boolean classImplements(Class<?> clss, Class<?> excls) {
        Class<?> sprcls = clss;

        while (sprcls != null) {
            Class<?>[] interfaces = sprcls.getInterfaces();

            for (Class<?> interface1 : interfaces) {
                if (interface1.equals(excls)) {
                    return true;
                }
            }

            sprcls = sprcls.getSuperclass();
        }

        return false;
    }