/// <summary>
        /// Gets the cache.
        /// </summary>
        /// <returns>The cache.</returns>
        /// <param name="id">Identifier.</param>
        /// <param name="url">URL.</param>
        /// <param name="mediaType">Media type.</param>
        /// <param name="overrideCache">If set to <c>true</c> override cache.</param>
        public async Task <CachedMedia> GetCache(string url, string mediaType = "Image", bool overrideCache = false)
        {
            //Get cached data from current request
            CachedMedia cachedMedia = await this.Get(url);


            //Valid cache
            if (await _cacheValidatorService.IsCacheValid(cachedMedia, overrideCache))
            {
                return(cachedMedia);
            }

            if (cachedMedia == null)
            {
                cachedMedia = Create(Guid.NewGuid(), url, mediaType);
            }

            try {
                //cachedMedia.MediaData = await _restService.GetAsync<Byte[]>(await GeneratRestUrl(cachedMedia.Url), CancellationToken.None);

                cachedMedia.MediaData = await _sitecoreService.GetMediaByUrl(cachedMedia.Url);

                await this.Save(cachedMedia);
            } catch (MethodFailedException ex) {
                _loggingService.Log("KnownError in GetCache,  Url {0} . Error: {1}", url, ex.Message);
            } catch (System.Exception ex) {
                _loggingService.Log("Error in GetCache,  Url {0} . Error: {1}", url, ex.Message);
            }

            return(cachedMedia);
        }