code: private boolean hasInterface(Class c, String targetClassName)
     {
        for (Class face : c.getInterfaces())
        {
           if (face.getName().equals(targetClassName))
           {
              return true;
           }
           else
           {
              for (Class face2 : face.getInterfaces())
              {
                 if (face2.getName().equals(targetClassName))
                 {
                    return true;
                 }
                 else if (hasInterface(face2, targetClassName))
                 {
                    return true;
                 }
              }
           }
        }
        if (null != c.getSuperclass())
        {
           return hasInterface(c.getSuperclass(), targetClassName);
        }
        return false;
     }
docs: hasInterface
  
  @param c
  @param targetClassName
  @return