public <D, R> void invokeVirtual(
      MethodId<D, R> method,
      Local<? super R> target,
      Local<? extends D> instance,
      Local<?>... args) {
    invoke(Rops.opInvokeVirtual(method.prototype(true)), method, target, instance, args);
  }
Calls the non-private instance method {@code method} of {@code instance} using {@code args} and
assigns the result to {@code target}.

@param method a non-private, non-static, method declared on a class. May not be an interface
    method or a constructor.
@param target the local to receive the method's return value, or {@code null} if the return
    type is {@code void} or if its value not needed.
android/android_framework/dex-maker/src/main/java/com/android/dx/Code.java