docs: @Override
    protected void onStartImpl(StreamController controller) {
      innerController = controller;
      innerController.disableAutoInboundFlowControl();
  
      outerResponseObserver.onStart(
          new StreamController() {
            @Override
            public void disableAutoInboundFlowControl() {
              Preconditions.checkState(
                  !hasStarted, "Can't disable automatic flow control once the stream has started");
              autoFlowControl = false;
              numRequested.set(0);
            }
  
            @Override
            public void request(int count) {
              // innerController.request(int) is indirectly invoked in deliver().
              ReframingResponseObserver.this.onRequest(count);
            }
  
            @Override
            public void cancel() {
              ReframingResponseObserver.this.onCancel();
            }
          });
  
      hasStarted = true;
  
      if (autoFlowControl) {
        numRequested.set(Integer.MAX_VALUE);
        deliver();
      }
    }