public static boolean isSubclassOrImplementsInterface(Class extendorOrImplementor,Class extendedOrImplemented){
  if (extendorOrImplementor.equals(extendedOrImplemented)) {
    return true;
  }
  if (extendedOrImplemented.isInterface()) {
    return recursiveIsImplementsInterface(extendorOrImplementor,extendedOrImplemented) || recursiveSuperclassImplementsInterface(extendorOrImplementor,extendedOrImplemented);
  }
  return recursiveIsSuperClass(extendorOrImplementor,extendedOrImplemented);
}

public static boolean isSubclassOrImplementsInterface ( Class extendorOrImplementor , Class extendedOrImplemented ) { if ( extendorOrImplementor . equals ( extendedOrImplemented ) ) { return true ; } if ( extendedOrImplemented . isInterface ( ) ) { return recursiveIsImplementsInterface ( extendorOrImplementor , extendedOrImplemented ) || recursiveSuperclassImplementsInterface ( extendorOrImplementor , extendedOrImplemented ) ; } return recursiveIsSuperClass ( extendorOrImplementor , extendedOrImplemented ) ; }
method to check if a given class , and its superclasses and interfaces ( deep ) , implement a given interface or extend a given class .
