/// <summary>
        /// Gets a bird thumbnail url from the Flickr API or the cache
        /// </summary>
        /// <param name="observations"></param>
        /// <returns></returns>
        public IEnumerable <ObservationFeedDto> GetThumbnailUrl(IEnumerable <ObservationFeedDto> observations)
        {
            if (observations is null)
            {
                throw new ArgumentNullException(nameof(observations), "The observations collection is null");
            }

            foreach (var observation in observations)
            {
                try
                {
                    if (_cache.TryGetValue(GenerateCacheEntryKey(observation.BirdId), out string cacheUrl))
                    {
                        observation.ThumbnailUrl = cacheUrl;
                    }
                    else
                    {
                        observation.ThumbnailUrl = _flickrService.GetThumbnailUrl(observation.Species);
                        AddResponseToCache(observation.BirdId, observation.ThumbnailUrl);
                    }
                }
                catch (Exception ex)
                {
                    observation.ThumbnailUrl = defaultUrl;
                    string message = $"An error occurred setting the thumbnail url for birdId '{observation.BirdId}'.";
                    _logger.LogError(LoggingEvents.GetItem, ex, message);
                }
            }

            return(observations);
        }