code: def _ParseMRUListExEntryValue(
        self, parser_mediator, registry_key, entry_index, entry_number, **kwargs):
      
      value_string = ''
  
      value = registry_key.GetValueByName('{0:d}'.format(entry_number))
      if value is None:
        parser_mediator.ProduceExtractionWarning(
            'missing MRUListEx value: {0:d} in key: {1:s}.'.format(
                entry_number, registry_key.path))
  
      elif value.DataIsString():
        value_string = value.GetDataAsObject()
  
      elif value.DataIsBinaryData():
        utf16le_string_map = self._GetDataTypeMap('utf16le_string')
  
        try:
          value_string = self._ReadStructureFromByteStream(
              value.data, 0, utf16le_string_map)
        except (ValueError, errors.ParseError) as exception:
          parser_mediator.ProduceExtractionWarning((
              'unable to parse MRUListEx entry value: {0:d} with error: '
              '{1!s}').format(entry_number, exception))
  
        value_string = value_string.rstrip('\x00')
  
      return value_string
docs: Parses the MRUListEx entry value.
  
      Args:
        parser_mediator (ParserMediator): mediates interactions between parsers
            and other components, such as storage and dfvfs.
        registry_key (dfwinreg.WinRegistryKey): Windows Registry key that contains
             the MRUListEx value.
        entry_index (int): MRUListEx entry index.
        entry_number (int): entry number.
  
      Returns:
        str: MRUList entry value.