code: def _ParseLogonApplications(self, parser_mediator, registry_key):
      
      for application in self._LOGON_APPLICATIONS:
        command_value = registry_key.GetValueByName(application)
        if not command_value:
          continue
  
        values_dict = {
            'Application': application,
            'Command': command_value.GetDataAsObject(),
            'Trigger': 'Logon'}
  
        event_data = windows_events.WindowsRegistryEventData()
        event_data.key_path = registry_key.path
        event_data.offset = registry_key.offset
        event_data.regvalue = values_dict
        event_data.source_append = ': Winlogon'
  
        event = time_events.DateTimeValuesEvent(
            registry_key.last_written_time, definitions.TIME_DESCRIPTION_WRITTEN)
        parser_mediator.ProduceEventWithEventData(event, event_data)
docs: Parses the registered logon applications.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        registry_key (dfwinreg.WinRegistryKey): Windows Registry key.