@Test
public void executeBlockingObservableShouldExecuteOnNextAndOnComplete() throws InterruptedException {

    CountDownLatch countDownLatch = new CountDownLatch(4);
    CountDownLatch countDownLatchCompletion = new CountDownLatch(1);
    RXTool.executeBlockingObservable(h -> h.complete(Arrays.asList(1, 2, 3, 4)), vertx)
        .subscribe(
            i -> countDownLatch.countDown(),
            t -> {
                throw new RuntimeException(t);
            },
            countDownLatchCompletion::countDown
        );
    countDownLatch.await(1, TimeUnit.SECONDS);
    countDownLatchCompletion.await(1, TimeUnit.SECONDS);
}