public async Task <IActionResult> Document(string jobCategory)
        {
            var contentPageModel = await GetContentPageAsync(jobCategory).ConfigureAwait(false);

            if (contentPageModel == null)
            {
                return(NoContent());
            }

            var jpsToRetrieveHrefs = contentPageModel.Links?.Where(x => x.LinkValue.Key == nameof(JobProfile).ToLower()).Select(z => z.LinkValue.Value.Href);
            var jobProfiles        = jpsToRetrieveHrefs?.Select(x => jobProfilePageContentService.GetByUriAsync(x));

            if (jobProfiles != null)
            {
                var results = await Task.WhenAll(jobProfiles).ConfigureAwait(false);

                contentPageModel.JobProfiles = results != null?results.ToList() : null;
            }

            if (contentPageModel != null)
            {
                var viewModel = mapper.Map <DocumentViewModel>(contentPageModel);

                viewModel.Breadcrumb = BuildBreadcrumb(contentPageModel);

                logger.LogInformation($"{nameof(Document)} has succeeded for: {jobCategory}");

                return(this.NegotiateContentResult(viewModel));
            }

            logger.LogWarning($"{nameof(Document)} has returned no content for: {jobCategory}");

            return(NoContent());
        }