code: @SuppressWarnings("MethodMayBeStatic") // Intentionally left non-static for better user experience.
      protected final boolean setResponseTimeout(ClientRequestContext ctx) {
          requireNonNull(ctx, "ctx");
          final long responseTimeoutMillis = ctx.attr(STATE).get().responseTimeoutMillis();
          if (responseTimeoutMillis < 0) {
              return false;
          }
          ctx.setResponseTimeoutMillis(responseTimeoutMillis);
          return true;
      }
docs: Resets the {@link ClientRequestContext#responseTimeoutMillis()}.
  
  @return {@code true} if the response timeout is set, {@code false} if it can't be set due to the timeout