public function handle(ComponentContext $componentContext)
    {
        if (!isset($this->options['components'])) {
            return;
        }
        /** @var ComponentInterface $component */
        foreach ($this->options['components'] as $component) {
            if ($component === null) {
                continue;
            }
            $component->handle($componentContext);
            $this->response = $componentContext->getHttpResponse();
            if ($componentContext->getParameter(ComponentChain::class, 'cancel') === true) {
                $componentContext->setParameter(ComponentChain::class, 'cancel', null);
                return;
            }
        }
    }