public function openToolAction($toolName)
    {
        $tool = $this->toolManager->getAdminToolByName($toolName);

        if (!$this->authorization->isGranted('OPEN', $tool)) {
            throw new AccessDeniedException();
        }

        /** @var OpenAdministrationToolEvent $event */
        $event = $this->eventDispatcher->dispatch(
            'administration_tool_'.$toolName,
            'OpenAdministrationTool',
            ['toolName' => $toolName]
        );
        $this->eventDispatcher->dispatch(
            'log',
            'Log\LogAdminToolRead',
            ['toolName' => $toolName]
        );

        return $event->getResponse();
    }