/// <summary>Gets the given request.</summary>
        ///
        /// <param name="request">The request to get.</param>
        ///
        /// <returns>An object.</returns>
		public object Get(CachedMovies request)
		{
			var service = base.ResolveService<MoviesService>();

			return base.RequestContext.ToOptimizedResultUsingCache(
				this.Cache, UrnId.Create<Movies>(request.Genre ?? "all"), () =>
				{
					return (MoviesResponse)service.Get(new Movies { Genre = request.Genre });
				});
		}
        /// <summary>Gets the given request.</summary>
        ///
        /// <param name="request">The request to get.</param>
        ///
        /// <returns>An object.</returns>
        public object Get(CachedMovies request)
        {
            var service = base.ResolveService <MoviesService>();

            return(base.RequestContext.ToOptimizedResultUsingCache(
                       this.Cache, UrnId.Create <Movies>(request.Genre ?? "all"), () =>
            {
                return (MoviesResponse)service.Get(new Movies {
                    Genre = request.Genre
                });
            }));
        }