protected function getImplementations(): array
    {
        $generators = [];
        $configurationService = GeneralUtility::makeInstance(ConfigurationService::class);

        if ($configurationService->isBool('enableGeneratorPlain')) {
            $generators[] = PlainGenerator::class;
        }
        if ($configurationService->isBool('enableGeneratorGzip')) {
            $generators[] = GzipGenerator::class;
        }
        if ($configurationService->isBool('enableGeneratorBrotli')) {
            $generators[] = BrotliGenerator::class;
        }

        $signalSlotDispatcher = GeneralUtility::makeInstance(Dispatcher::class);
        $params = [
            'generators' => $generators,
        ];
        try {
            $params = $signalSlotDispatcher->dispatch(__CLASS__, 'getImplementations', $params);
        } catch (\Exception $ex) {
        }

        return $params['generators'];
    }