<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def prepare_headers(self, headers, cache_info=None):
 """ Prepare headers object for request (add cache information :param headers: Headers object :type headers: dict :param cache_info: Cache information to add :type cache_info: floscraper.models.CacheInfo :return: Prepared headers :rtype: dict """

        if self.use_advanced and cache_info:
            hkeys = headers.keys()
            if cache_info.access_time and "If-Modified-Since" not in hkeys:
                headers['If-Modified-Since'] = cache_info.access_time.strftime(
                    "%a, %d %b %Y %H:%M:%S GMT"
                )
            if cache_info.etag and "If-None-Match" not in hkeys:
                headers['If-None-Match'] = cache_info.etag
        return headers