docs: @Nullable
    public static MethodSymbol resolveExistingMethod(
        VisitorState state,
        TypeSymbol base,
        Name name,
        Iterable<Type> argTypes,
        Iterable<Type> tyargTypes) {
      Resolve resolve = Resolve.instance(state.context);
      Enter enter = Enter.instance(state.context);
      Log log = Log.instance(state.context);
      DeferredDiagnosticHandler handler = new DeferredDiagnosticHandler(log);
      try {
        return resolve.resolveInternalMethod(
            /*pos*/ null,
            enter.getEnv(base),
            base.type,
            name,
            com.sun.tools.javac.util.List.from(argTypes),
            com.sun.tools.javac.util.List.from(tyargTypes));
      } catch (FatalError e) {
        // the method could not be resolved
        return null;
      } finally {
        log.popDiagnosticHandler(handler);
      }
    }