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