code: private List<JCExpression> convertArgs(Symbol meth, List<JCExpression> args, Type varargsElement) {
         Assert.check(meth.kind == Kinds.MTH);
         List<Type> formals = types.erasure(meth.type).getParameterTypes();
         if (varargsElement != null) {
             Assert.check((meth.flags() & VARARGS) != 0);
         }
         return transTypes.translateArgs(args, formals, varargsElement, attrEnv);
      }
docs: Convert method/constructor arguments by inserting appropriate cast
  as required by type-erasure - this is needed when bridging a lambda/method
  reference, as the bridged signature might require downcast to be compatible
  with the generated signature.