private IEnumerable <KeyValuePair <SiteCulture, string> >?GetDatabaseUrlVariants(string searchPath, SiteCulture currentCulture)
        {
            var navigation = _navigationRepository.GetWholeNavigation();
            var currentPageNavigationItem = GetNavigationItemByRelativeUrl(searchPath, navigation[currentCulture]);

            if (currentPageNavigationItem != null)
            {
                var databaseVariants = new List <KeyValuePair <SiteCulture, NavigationItem> >();
                databaseVariants.Add(new KeyValuePair <SiteCulture, NavigationItem>(currentCulture, currentPageNavigationItem));

                foreach (var cultureVariant in navigation.Where(cultureVariant => !cultureVariant.Key.Equals(currentCulture)))
                {
                    var otherCultureNavigationItem = _navigationRepository.GetNavigationItemByNodeId(currentPageNavigationItem.NodeId, cultureVariant.Value);

                    if (otherCultureNavigationItem != null)
                    {
                        databaseVariants.Add(new KeyValuePair <SiteCulture, NavigationItem>(cultureVariant.Key, otherCultureNavigationItem));
                    }
                }

                return(databaseVariants.Select(variant => new KeyValuePair <SiteCulture, string>(variant.Key, variant.Value.RelativeUrl !)));
            }

            return(null);
        }