protected function build($url, array $configuration)
    {
        $urlParameters = ['jumpurl' => $url];

        // see if a secure File URL should be built
        if (!empty($configuration['secure'])) {
            $secureParameters = $this->getParametersForSecureFile(
                $url,
                isset($configuration['secure.']) ? $configuration['secure.'] : []
            );
            $urlParameters = array_merge($urlParameters, $secureParameters);
        } else {
            $urlParameters['juHash'] = JumpUrlUtility::calculateHash($url);
        }

        $typoLinkConfiguration = [
            'parameter' => $this->getTypoLinkParameter($configuration),
            'additionalParams' => GeneralUtility::implodeArrayForUrl('', $urlParameters),
            // make sure jump URL is not called again
            'jumpurl.' => ['forceDisable' => '1']
        ];

        return $this->getContentObjectRenderer()->typoLink_URL($typoLinkConfiguration);
    }