code: def ParseFileEntry(self, parser_mediator, file_entry):
      
      index_file_parser = ChromeCacheIndexFileParser()
  
      file_object = file_entry.GetFileObject()
      try:
        index_file_parser.ParseFileObject(parser_mediator, file_object)
      except (IOError, errors.ParseError) as exception:
        file_object.close()
  
        display_name = parser_mediator.GetDisplayName()
        raise errors.UnableToParseFile(
            '[{0:s}] unable to parse index file {1:s} with error: {2!s}'.format(
                self.NAME, display_name, exception))
  
      # TODO: create event based on index file creation time.
  
      try:
        file_system = file_entry.GetFileSystem()
        self._ParseIndexTable(
            parser_mediator, file_system, file_entry,
            index_file_parser.index_table)
      finally:
        file_object.close()
docs: Parses Chrome Cache files.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        file_entry (dfvfs.FileEntry): file entry.
  
      Raises:
        UnableToParseFile: when the file cannot be parsed.