code: @Override
    public T acquire() throws IOException {
      try {
        return acquire(100  /* no timeout */, TimeUnit.DAYS);
      } catch (TimeoutException e) {
        // Never should timeout in acquire().
        throw new RuntimeException(e);
      }
    }
docs: Acquires a resource of type {code T} from the pool.
  
  @return the acquired resource