code: @CanIgnoreReturnValue
    @Override
    public V checkedGet(long timeout, TimeUnit unit) throws TimeoutException, X {
      try {
        return get(timeout, unit);
      } catch (InterruptedException e) {
        Thread.currentThread().interrupt();
        throw mapException(e);
      } catch (CancellationException e) {
        throw mapException(e);
      } catch (ExecutionException e) {
        throw mapException(e);
      }
    }
docs: {@inheritDoc}
  
  <p>This implementation calls {@link #get(long, TimeUnit)} and maps that method's standard
  exceptions (excluding {@link TimeoutException}, which is propagated) to instances of type
  {@code X} using {@link #mapException}.
  
  <p>In addition, if {@code get} throws an {@link InterruptedException}, this implementation will
  set the current thread's interrupt status before calling {@code mapException}.
  
  @throws X if {@link #get()} throws an {@link InterruptedException}, {@link
  CancellationException}, or {@link ExecutionException}