List<BasicValue> getLambdaMethodArguments(List<? extends BasicValue> captured, Function<? super Type, ? extends BasicValue> valueSupplier) {
    // Lambda runtime representation args consist of captured values and invocation values
    // E.g.:
    // IntUnaryOperator getAdder(int addend) { return x -> addend + x; }
    // will generate
    // static int lambda$getAdder$0(int addend, int x) {return addend + x;}
    return ContainerUtil.concat(captured, ContainerUtil.map(getFunctionalMethodType().getArgumentTypes(), valueSupplier));
  }
List<BasicValue> getLambdaMethodArguments(List<? extends BasicValue> captured, Function<? super Type, ? extends BasicValue> valueSupplier)