code: public Method findMethod (String methodName, Class<?>[] parameterTypes)
          throws NoSuchMethodException
      {
          // make sure the constructor list is loaded
          maybeLoadMethods();
  
          List<Member> methodList = _methodMap.get(methodName);
          if (methodList == null) {
              throw new NoSuchMethodException(
                  "No method named " + _clazz.getName() + "." + methodName);
          }
  
          if (parameterTypes == null) {
              parameterTypes = new Class<?>[0];
          }
  
          return (Method)findMemberIn(methodList, parameterTypes);
      }
docs: Returns the most specific public method in my target class that has the given name and
  accepts the number and type of parameters in the given Class array in a reflective
  invocation.
  
  <p> A null value or Void.TYPE in parameterTypes will match a corresponding Object or array
  reference in a method's formal parameter list, but not a primitive formal parameter.
  
  @param methodName name of the method to search for.
  @param parameterTypes array representing the number and types of parameters to look for in
  the method's signature.  A null array is treated as a zero-length array.
  
  @return Method object satisfying the conditions.
  
  @exception NoSuchMethodException if no methods match the criteria, or if the reflective call
  is ambiguous based on the parameter types, or if methodName is null.