code: def _ParseItem(self, parser_mediator, olecf_item):
      
      result = False
  
      event_data = OLECFItemEventData()
      event_data.name = olecf_item.name
      event_data.offset = 0
      event_data.size = olecf_item.size
  
      creation_time, modification_time = self._GetTimestamps(olecf_item)
      if creation_time:
        date_time = dfdatetime_filetime.Filetime(timestamp=creation_time)
        event = time_events.DateTimeValuesEvent(
            date_time, definitions.TIME_DESCRIPTION_CREATION)
        parser_mediator.ProduceEventWithEventData(event, event_data)
        result = True
  
      if modification_time:
        date_time = dfdatetime_filetime.Filetime(timestamp=modification_time)
        event = time_events.DateTimeValuesEvent(
            date_time, definitions.TIME_DESCRIPTION_MODIFICATION)
        parser_mediator.ProduceEventWithEventData(event, event_data)
        result = True
  
      for sub_item in olecf_item.sub_items:
        if self._ParseItem(parser_mediator, sub_item):
          result = True
  
      return result
docs: Parses an OLECF item.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        olecf_item (pyolecf.item): OLECF item.
  
      Returns:
        bool: True if an event was produced.