code: private boolean methodExists(Class clazz, String name) {
          Method[] methods = clazz.getDeclaredMethods();
          for (int i = 0; i < methods.length; i++) {
              if (methods[i].getName().equals(name)) {
                  return true;
              }
          }
  
          if (clazz.getSuperclass() != null
                  && methodExists(clazz.getSuperclass(), name)) {
              return true;
          }
  
          Class[] interfaces = clazz.getInterfaces();
          for (int i = 0; i < interfaces.length; i++) {
              if (methodExists(interfaces[i], name)) {
                  return true;
              }
          }
  
          return false;
      }
docs: Look for conflicting method names