/// <summary>
        /// Gets an <see cref="EntityResult"/> that represents the actual resource mapped from the specified <paramref name="uri"/>.
        /// </summary>
        /// <param name="parent">The <see cref="UrlResolver"/> that owns this resolved and calls this method.</param>
        /// <param name="context">The current <see cref="SageContext"/> under which this code is executing.</param>
        /// <param name="uri">The uri to resolve.</param>
        /// <returns>
        /// An object that represents the resource mapped from the specified <paramref name="uri"/>.
        /// </returns>
        public EntityResult GetEntity(UrlResolver parent, SageContext context, string uri)
        {
            string sourcePath = uri.Replace(Scheme + "://", string.Empty);
            EntityResult result = null;
            Stopwatch sw = new Stopwatch();
            long time = sw.TimeMilliseconds(() => result = this.GetClientResourceReader(context, sourcePath));
            log.DebugFormat("Time taken to get resource reader for '{0}': {1}ms", uri, time);

            return result;
        }