docs: public static Method findMethod(final Class<?> c, String methodName, final Class<?>[] parmTypes)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.entry(tc, "findMethod", new Object[] { c, methodName, Arrays.toString(parmTypes) });
          }
  
          // Start with specified class.
          Class<?> classObject = c;
  
          // Use java reflection to locate method until Method is found
          // or we have reflected entire inheritance tree.
          Method m = null;
          while (classObject != null && m == null) //d461068
          {
              try
              {
                  // Attempt to find in current Class object.
                  m = classObject.getDeclaredMethod(methodName, parmTypes);
              } catch (NoSuchMethodException e)
              {
                  // Look in super class if not found.
                  classObject = classObject.getSuperclass();
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  {
                      if (classObject != null) //d461068
                      {
                          Tr.debug(tc, "searching superclass: " + classObject.getName());
                      }
                      else
                      {
                          Tr.debug(tc, methodName + " was not found");
                      }
                  }
              }
          }
  
          // Return Method object or null if not found.
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          {
              Tr.exit(tc, "findMethod returning: " + m);
          }
          return m;
      }