code: def ExamineEvent(self, mediator, event):
      
      if self._session_end_timestamp is None:
        self._session_end_timestamp = (
            event.timestamp + self._maximum_pause_microseconds)
        self._events_per_session.append(0)
  
      if event.timestamp > self._session_end_timestamp:
        self._session_counter += 1
        self._events_per_session.append(0)
  
      self._session_end_timestamp = (
          event.timestamp + self._maximum_pause_microseconds)
      # The counter for the current session is the always the last item in
      # the list.
      self._events_per_session[-1] += 1
  
      label = 'session_{0:d}'.format(self._session_counter)
      event_tag = self._CreateEventTag(event, self._EVENT_TAG_COMMENT, [label])
      mediator.ProduceEventTag(event_tag)
      self._number_of_event_tags += 1
docs: Analyzes an EventObject and tags it as part of a session.
  
      Args:
        mediator (AnalysisMediator): mediates interactions between analysis
            plugins and other components, such as storage and dfvfs.
        event (EventObject): event to examine.