public async Task <IEnumerable <string> > GetUrl(string[] id, string contentTypeId) { var contentType = ContentTypeProvider.Get(contentTypeId); var content = await ContentGetter.GetAsync(contentTypeId, PrimaryKeyConverter.Convert(id, contentTypeId)).ConfigureAwait(false); var contentRouteSegment = await UrlProvider.GetAsync(content).ConfigureAwait(false); var contentRoutes = ContentRouteMatcher.GetFor(contentType); var result = new List <string>(); foreach (var contentRoute in contentRoutes) { result.Add(contentRoute.Apply(contentRouteSegment)); } return(result.AsReadOnly()); }