code: Symbol findMethod(Env<AttrContext> env,
                        Type site,
                        Name name,
                        List<Type> argtypes,
                        List<Type> typeargtypes,
                        boolean allowBoxing,
                        boolean useVarargs,
                        boolean operator) {
          Symbol bestSoFar = methodNotFound;
          bestSoFar = findMethod(env,
                            site,
                            name,
                            argtypes,
                            typeargtypes,
                            site.tsym.type,
                            bestSoFar,
                            allowBoxing,
                            useVarargs,
                            operator);
          return bestSoFar;
      }
docs: Find best qualified method matching given name, type and value
  arguments.
  @param env       The current environment.
  @param site      The original type from where the selection
  takes place.
  @param name      The method's name.
  @param argtypes  The method's value arguments.
  @param typeargtypes The method's type arguments
  @param allowBoxing Allow boxing conversions of arguments.
  @param useVarargs Box trailing arguments into an array for varargs.