<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ParseFileEntry(self, parser_mediator, file_entry):
 """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. """

    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()