code: def Process(self, parser_mediator, root_item=None, **kwargs):
      
      # This will raise if unhandled keyword arguments are passed.
      super(DefaultOLECFPlugin, self).Process(parser_mediator, **kwargs)
  
      if not root_item:
        raise ValueError('Root item not set.')
  
      if not self._ParseItem(parser_mediator, root_item):
        event_data = OLECFItemEventData()
        event_data.name = root_item.name
        event_data.offset = 0
        event_data.size = root_item.size
  
        # If no event was produced, produce at least one for the root item.
        date_time = dfdatetime_semantic_time.SemanticTime('Not set')
        event = time_events.DateTimeValuesEvent(
            date_time, definitions.TIME_DESCRIPTION_CREATION)
        parser_mediator.ProduceEventWithEventData(event, event_data)
docs: Parses an OLECF file.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        root_item (Optional[pyolecf.item]): root item of the OLECF file.
  
      Raises:
        ValueError: If the root item is not set.