code: public static boolean hasInterface(Class<?> clazz, Class<?> iface) {
          if (clazz == null || iface == null || clazz == iface) {
              return false;
          }
          return iface.isInterface() && iface.isAssignableFrom(clazz);
      }
docs: Tells if a class (or one of its super-classes) implements an interface;
  or an interface is a sub-interface of a super-interface.
  
  Note:
  <ul>
  <li>Sub-interface against super-interface: this method returns
  {@code true}.</li>
  <li>Class against interface: this method returns {@code true}.</li>
  <li>Class against super-interface: this method returns {@code true}.</li>
  </ul>
  
  @param clazz
  @param iface
  @return