code: public static <T> T get(Future<T> future, long timeout, TimeUnit timeUnit) {
      try {
        return future.get(timeout, timeUnit);
      } catch (InterruptedException | ExecutionException | TimeoutException e) {
        throw new RuntimeException(e);
      }
    }
docs: Gets a future result with a default timeout.
  
  @param future the future to block
  @param timeout the future timeout
  @param timeUnit the future timeout time unit
  @param <T> the future result type
  @return the future result
  @throws RuntimeException if a future exception occurs