code: public void await(long timeout, TimeUnit unit) throws InterruptedException, TimeoutException {
          if (!latch.await(timeout, unit)) {
              throw new TimeoutException();
          }
      }
docs: Waits for the CallFuture to complete without returning the result.
  
  @param timeout
  the maximum time to wait.
  @param unit
  the time unit of the timeout argument.
  @throws InterruptedException
  if interrupted.
  @throws TimeoutException
  if the wait timed out.