public async Task <string> GetChallengeForm(SupportServiceResourceKey resourceKey,
                                                    SupportServiceResourceKey challengeKey, string id, string url)
        {
            var challenge = _serviceConfiguration.GetChallenge(challengeKey);

            if (challenge == null)
            {
                var e = new NullReferenceException($"The challenge {challengeKey} could not be found in any manifest");

                _log.Error(e,
                           $"The Manifest data is misconfigured because a Challenge was identified but not configured, please review the Manifest configuration and update it accordingly.");
                throw e;
            }

            var challengeUrl =
                string.Format(
                    new Uri(_serviceConfiguration.FindSiteBaseUriForManfiestElement(_sites, challengeKey), challenge.ChallengeUrlFormat).ToString(), id);
            var page = await GetPage(challengeUrl);

            return(_formMapper.UpdateForm(resourceKey, challengeKey, id, url, page.Resource));
        }