code: def _ExtractMetadataFromFileEntry(self, mediator, file_entry, data_stream):
      
      # Do not extract metadata from the root file entry when it is virtual.
      if file_entry.IsRoot() and file_entry.type_indicator not in (
          self._TYPES_WITH_ROOT_METADATA):
        return
  
      # We always want to extract the file entry metadata but we only want
      # to parse it once per file entry, so we only use it if we are
      # processing the default data stream of regular files.
      if data_stream and not data_stream.IsDefault():
        return
  
      display_name = mediator.GetDisplayName()
      logger.debug(
          '[ExtractMetadataFromFileEntry] processing file entry: {0:s}'.format(
              display_name))
  
      self.processing_status = definitions.STATUS_INDICATOR_EXTRACTING
  
      if self._processing_profiler:
        self._processing_profiler.StartTiming('extracting')
  
      self._event_extractor.ParseFileEntryMetadata(mediator, file_entry)
  
      if self._processing_profiler:
        self._processing_profiler.StopTiming('extracting')
  
      self.processing_status = definitions.STATUS_INDICATOR_RUNNING
docs: Extracts metadata from a file entry.
  
      Args:
        mediator (ParserMediator): mediates the interactions between
            parsers and other components, such as storage and abort signals.
        file_entry (dfvfs.FileEntry): file entry to extract metadata from.
        data_stream (dfvfs.DataStream): data stream or None if the file entry
            has no data stream.