This interface serves as a common contract for all kinds of controllers. That is, in Flow it covers ActionController (dealing with ActionRequest) but also CommandController (dealing with CommandRequest). Controllers implementing this interface are compatible with the MVC Dispatcher.
 /**
  * @test
  */
 public function dispatchContinuesWithNextRequestFoundInAForwardException()
 {
     /** @var ActionRequest|\PHPUnit_Framework_MockObject_MockObject $nextRequest */
     $nextRequest = $this->getMockBuilder(ActionRequest::class)->disableOriginalConstructor()->getMock();
     $nextRequest->expects($this->atLeastOnce())->method('isDispatched')->will($this->returnValue(true));
     $this->mockParentRequest->expects($this->atLeastOnce())->method('isDispatched')->will($this->returnValue(false));
     $this->mockController->expects($this->at(0))->method('processRequest')->with($this->mockActionRequest)->will($this->throwException(new StopActionException()));
     $forwardException = new ForwardException();
     $forwardException->setNextRequest($nextRequest);
     $this->mockController->expects($this->at(1))->method('processRequest')->with($this->mockParentRequest)->will($this->throwException($forwardException));
     $this->dispatcher->dispatch($this->mockActionRequest, $this->mockHttpResponse);
 }