code: public void setRequestTimeoutChangeListener(RequestTimeoutChangeListener listener) {
          requireNonNull(listener, "listener");
          if (requestTimeoutChangeListener != null) {
              throw new IllegalStateException("requestTimeoutChangeListener is set already.");
          }
          requestTimeoutChangeListener = listener;
      }
docs: Sets the listener that is notified when the {@linkplain #requestTimeoutMillis()} request timeout} of
  the request is changed.
  
  <p>Note: This method is meant for internal use by server-side protocol implementation to reschedule
  a timeout task when a user updates the request timeout configuration.