code: public static Method bestMethod(Class<?> clazz, String name, Class<?>[] argTypes) throws AmbiguousMethodMatchException {
          return bestMethod(collectMethods(clazz, name), argTypes);
      }
docs: Finds the best method for the given argument types.
  @param clazz
  @param name
  @param argTypes
  @return method
  @throws AmbiguousSignatureMatchException if multiple methods match equally