docs: public static <V, X extends Exception> V get(
        Future<V> future, Class<X> exceptionClass) throws X {
      checkNotNull(future);
      checkArgument(!RuntimeException.class.isAssignableFrom(exceptionClass),
          "Futures.get exception type (%s) must not be a RuntimeException",
          exceptionClass);
      try {
        return future.get();
      } catch (InterruptedException e) {
        currentThread().interrupt();
        throw newWithCause(exceptionClass, e);
      } catch (ExecutionException e) {
        wrapAndThrowExceptionOrError(e.getCause(), exceptionClass);
        throw new AssertionError();
      }
    }