public function getSearchComponent($componentName)
    {
        if (!array_key_exists($componentName, self::$searchComponents)) {
            throw new \InvalidArgumentException(
                'No search component registered named ' . $componentName,
                1343398440
            );
        }

        $searchComponent = GeneralUtility::makeInstance(self::$searchComponents[$componentName]);

        if (!($searchComponent instanceof SearchComponent)) {
            throw new \RuntimeException(
                'Class ' . self::$searchComponents[$componentName] . ' must implement interface ' . SearchComponent::class,
                1343398621
            );
        }

        return $searchComponent;
    }