code: def ExamineEvent(self, mediator, event):
      
      if self._tagging_rules is None:
        if self._autodetect_tag_file_attempt:
          # There's nothing to tag with, and we've already tried to find a good
          # tag file, so there's nothing we can do with this event (or any other).
          return
  
        if not self._AttemptAutoDetectTagFile(mediator):
          logger.info(
              'No tag definition file specified, and plaso was not able to '
              'autoselect a tagging file. As no definitions were specified, '
              'no events will be tagged.')
          return
  
      matched_label_names = []
      for label_name, filter_objects in iter(self._tagging_rules.items()):
        for filter_object in filter_objects:
          if filter_object.Match(event):
            matched_label_names.append(label_name)
            break
  
      if matched_label_names:
        event_tag = self._CreateEventTag(
            event, self._EVENT_TAG_COMMENT, matched_label_names)
  
        mediator.ProduceEventTag(event_tag)
        self._number_of_event_tags += 1
docs: Analyzes an EventObject and tags it according to rules in the tag file.
  
      Args:
        mediator (AnalysisMediator): mediates interactions between analysis
            plugins and other components, such as storage and dfvfs.
        event (EventObject): event to examine.