public IResponse Execute(IRequest request) { IResponse cachedResponse = cache.Get(request); if (cachedResponse != null) { return(cachedResponse); } IResponse response = proxiedAction.Execute(request); cache.Insert(request, response); return(response); }