processing($request); if ($processed === null && $this->successor !== null) { // the request has not been processed by this handler => see the next $processed = $this->successor->handle($request); } return $processed; } abstract protected function processing(RequestInterface $request): ?string; }