public async Task <IList <Navigation> > GetByIdAsync(IList <string> ids)
        {
            return(await _grpcCallerService.CallService(_navigationServiceProvider.GrpcEndpoint, async (grpcChannel) =>
            {
                var client = new NavigationService.NavigationServiceClient(grpcChannel);
                var response = await client.GetByIdsAsync(new GetByIdsRequest
                {
                    Ids = { ids }
                });

                return response.Navigations;
            }));
        }
        public async Task <IList <Navigation> > GetByHandleAsync(IList <string> handles,
                                                                 string languageCode)
        {
            return(await _grpcCallerService.CallService(_navigationServiceProvider.GrpcEndpoint, async (grpcChannel) =>
            {
                var client = new NavigationService.NavigationServiceClient(grpcChannel);
                var response = await client.GetByHandlesAsync(new GetByHandlesRequest
                {
                    Handles = { handles }
                });

                // Filter out matches in other languages
                return response.Navigations
                .Where(x => x.Handles
                       .Any(ls => ls.LanguageCode == languageCode && handles.Contains(ls.Value)))
                .ToList();
            }));
        }