code: @CheckReturnValue
      @SchedulerSupport(SchedulerSupport.NONE)
      public final boolean blockingAwait(long timeout, TimeUnit unit) {
          ObjectHelper.requireNonNull(unit, "unit is null");
          BlockingMultiObserver<Void> observer = new BlockingMultiObserver<Void>();
          subscribe(observer);
          return observer.blockingAwait(timeout, unit);
      }
docs: Subscribes to and awaits the termination of this Completable instance in a blocking manner
  with a specific timeout and rethrows any exception emitted within the timeout window.
  <p>
  <img width="640" height="348" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/Completable.blockingAwait.t.png" alt="">
  <dl>
  <dt><b>Scheduler:</b></dt>
  <dd>{@code blockingAwait} does not operate by default on a particular {@link Scheduler}.</dd>
  <dt><b>Error handling:</b></dt>
  <dd>If the source signals an error, the operator wraps a checked {@link Exception}
  into {@link RuntimeException} and throws that. Otherwise, {@code RuntimeException}s and
  {@link Error}s are rethrown as they are.</dd>
  </dl>
  @param timeout the timeout value
  @param unit the timeout unit
  @return true if the this Completable instance completed normally within the time limit,
  false if the timeout elapsed before this Completable terminated.
  @throws RuntimeException wrapping an InterruptedException if the current thread is interrupted