@Test
public void invokeFailureRxJava() throws Throwable {

  given(this.methodHandler.invoke(any())).willThrow(new IOException("Could Not Decode"));
  RxJavaInvocationHandler handler =
      new RxJavaInvocationHandler(this.target,
          Collections.singletonMap(this.method, this.methodHandler),
          io.reactivex.schedulers.Schedulers.trampoline());
  Object result = handler.invoke(this.method, this.methodHandler, new Object[] {});
  assertThat(result).isInstanceOf(Flowable.class);
  verifyZeroInteractions(this.methodHandler);
  /* subscribe and execute the method */
  StepVerifier.create((Flowable) result)
      .expectError(IOException.class)
      .verify();
  verify(this.methodHandler, times(1)).invoke(any());
}