Como indiretamente executar uma referência de método no Java 8?

As questões gerais são:

Ao usar a sintaxeobject::aMethod, pode ser convertido em um tipo comoMethodHandle como uma interface funcional?Se não, como uma referência de método pode ser invocada indiretamente no Java 8, se possível?

Por exemplo, imagine que gostaríamos de ter umMethodRefRunner Como:

class MethodRefRunner {
  static void execute(Object target, WHATTYPE mref, Object... args) {
    mref.apply(args);
  }
}

E pode ser usado como:MethodRefRunner.execute(o, o::someMethod, someParam)

No snippet acima, uma opção paraWHATTYPE éjava.util.function.Function mas muito restritivo. Comoesta resposta menciona, antes da versão b75, havia umjava.util.function.Block estava disponível e pode ser útil.

Por outro lado, qualquer chance queWHATTYPE poderia ser de alguma forma convertido para umjava.lang.invoke.MethodHandle?

Nota para especialistas em Java: Por favor, refine o título das perguntas conforme necessário.

questionAnswers(2)

yourAnswerToTheQuestion