code: def _ParseCacheEntries(self, parser_mediator, index_table, data_block_files):
      
      # Parse the cache entries in the data block files.
      for cache_address in index_table:
        cache_address_chain_length = 0
        while cache_address.value != 0:
          if cache_address_chain_length >= 64:
            parser_mediator.ProduceExtractionWarning(
                'Maximum allowed cache address chain length reached.')
            break
  
          data_block_file_object = data_block_files.get(
              cache_address.filename, None)
          if not data_block_file_object:
            message = 'Cache address: 0x{0:08x} missing data file.'.format(
                cache_address.value)
            parser_mediator.ProduceExtractionWarning(message)
            break
  
          try:
            cache_entry = self._data_block_file_parser.ParseCacheEntry(
                data_block_file_object, cache_address.block_offset)
          except (IOError, errors.ParseError) as exception:
            parser_mediator.ProduceExtractionWarning(
                'Unable to parse cache entry with error: {0!s}'.format(
                    exception))
            break
  
          event_data = ChromeCacheEntryEventData()
          event_data.original_url = cache_entry.original_url
  
          date_time = dfdatetime_webkit_time.WebKitTime(
              timestamp=cache_entry.creation_time)
          event = time_events.DateTimeValuesEvent(
              date_time, definitions.TIME_DESCRIPTION_LAST_VISITED)
          parser_mediator.ProduceEventWithEventData(event, event_data)
  
          cache_address = cache_entry.next
          cache_address_chain_length += 1
docs: Parses Chrome Cache file entries.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        index_table (list[CacheAddress]): the cache addresses which are stored in
            the index file.
        data_block_files (dict[str: file]): look up table for the data block
            file-like object handles.