@Test
 public void testWithCompletionCausingError() {
   NbpTestSubscriber<Try<Optional<Integer>>> ts = new NbpTestSubscriber<>();
   final RuntimeException ex = new RuntimeException("boo");
   NbpObservable.<Integer>empty()
       .materialize()
       .doOnNext(
           new Consumer<Object>() {
             @Override
             public void accept(Object t) {
               throw ex;
             }
           })
       .subscribe(ts);
   ts.assertError(ex);
   ts.assertNoValues();
   ts.assertTerminated();
 }