public function process($context, $url, array $configuration, ContentObjectRenderer $contentObjectRenderer, &$keepProcessing)
    {
        if (!$this->isEnabled($context, $configuration)) {
            return $url;
        }

        $this->contentObjectRenderer = $contentObjectRenderer;

        // Strip the absRefPrefix from the URLs.
        $urlPrefix = (string)$this->getTypoScriptFrontendController()->absRefPrefix;
        if ($urlPrefix !== '' && StringUtility::beginsWith($url, $urlPrefix)) {
            $url = substr($url, strlen($urlPrefix));
        }

        // Make sure the slashes in the file URL are not encoded.
        if ($context === UrlProcessorInterface::CONTEXT_FILE) {
            $url = str_replace('%2F', '/', rawurlencode(rawurldecode($url)));
        }

        $url = $this->build($url, isset($configuration['jumpurl.']) ? $configuration['jumpurl.'] : []);

        // Now add the prefix again if it was not added by a typolink call already.
        if ($urlPrefix !== '' && !StringUtility::beginsWith($url, $urlPrefix)) {
            $url = $urlPrefix . $url;
        }

        return $url;
    }