docs: private static Method getAccessibleMethodFromInterfaceNest
              (Class<?> clazz, String methodName, Class<?>[] parameterTypes) {
  
          Method method = null;
  
          // Search up the superclass chain
          for (; clazz != null; clazz = clazz.getSuperclass()) {
  
              // Check the implemented interfaces of the parent class
              Class<?>[] interfaces = clazz.getInterfaces();
              for (int i = 0; i < interfaces.length; i++) {
  
                  // Is this interface public?
                  if (!Modifier.isPublic(interfaces[i].getModifiers())) {
                      continue;
                  }
  
                  // Does the method exist on this interface?
                  try {
                      method = interfaces[i].getDeclaredMethod(methodName,
                              parameterTypes);
                  } catch (NoSuchMethodException e) {
                      /* Swallow, if no method is found after the loop then this
                       * method returns null.
                       */
                  }
                  if (method != null) {
                      return method;
                  }
  
                  // Recursively check our parent interfaces
                  method =
                          getAccessibleMethodFromInterfaceNest(interfaces[i],
                                  methodName,
                                  parameterTypes);
                  if (method != null) {
                      return method;
                  }
  
              }
  
          }
  
          // We did not find anything
          return (null);
      }