# File lib/awsbase/right_awsbase.rb, line 589
        def cache_hits?(function, response, do_raise=:raise)
            result = false
            if caching?
                function = function.to_sym
                # get rid of requestId (this bad boy was added for API 2008-08-08+ and it is uniq for every response)
                response = response.sub(%r{<requestId>.+?</requestId>}, '')
                response_md5 =Digest::MD5.hexdigest(response).to_s
                # check for changes
                unless @cache[function] && @cache[function][:response_md5] == response_md5
                    # well, the response is new, reset cache data
                    update_cache(function, {:response_md5 => response_md5,
                                            :timestamp => Time.now,
                                            :hits => 0,
                                            :parsed => nil})
                else
                    # aha, cache hits, update the data and throw an exception if needed
                    @cache[function][:hits] += 1
                    if do_raise == :raise
                        raise(AwsNoChange, "Cache hit: #{function} response has not changed since "+
                                "#{@cache[function][:timestamp].strftime('%Y-%m-%d %H:%M:%S')}, "+
                                "hits: #{@cache[function][:hits]}.")
                    else
                        result = @cache[function][:parsed] || true
                    end
                end
            end
            result
        end