docs: final public long getByteCount() throws InterruptedException, IOException {
          try {
              return getByteCount(0L);
          } catch (AsyncTimeoutException e) {
              // Should only happen if the future itself is marked with an AsyncTimeoutException
              if ((this.exception != null)
                      && (this.exception instanceof AsyncTimeoutException)) {
                  throw (AsyncTimeoutException) this.exception;
              } // end if
                // Cannot happen since arg of 0L means wait forever
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Unexpected timeout on blocking getByteCount: "
                               + this.exception);
              }
              FFDCFilter.processException(e, getClass().getName(), "145", this);
              IOException ie = new IOException("Unexpected timeout");
              ie.initCause(e);
              throw ie;
          }
      }