docs: def write_metadata(self, symbol, metadata, prune_previous_version=True, **kwargs):
          """
          Write 'metadata' under the specified 'symbol' name to this library.
          The data will remain unchanged. A new version will be created.
          If the symbol is missing, it causes a write with empty data (None, pickled, can't append)
          and the supplied metadata.
          Returns a VersionedItem object only with a metadata element.
          Fast operation: Zero data/segment read/write operations.
  
          Parameters
          ----------
          symbol : `str`
              symbol name for the item
          metadata : `dict` or `None`
              dictionary of metadata to persist along with the symbol
          prune_previous_version : `bool`
              Removes previous (non-snapshotted) versions from the database.
              Default: True
          kwargs :
              passed through to the write handler (only used if symbol does not already exist or is deleted)
  
          Returns
          -------
          `VersionedItem`
              VersionedItem named tuple containing the metadata of the written symbol's version document in the store.
          """
          # Make a normal write with empty data and supplied metadata if symbol does not exist
          try:
              previous_version = self._read_metadata(symbol)
          except NoDataFoundException:
              return self.write(symbol, data=None, metadata=metadata,
                                prune_previous_version=prune_previous_version, **kwargs)
  
          # Reaching here means that and/or metadata exist and we are set to update the metadata
          new_version_num = self._version_nums.find_one_and_update({'symbol': symbol},
                                                                   {'$inc': {'version': 1}},
                                                                   upsert=True, new=True)['version']
  
          # Populate the new version entry, preserving existing data, and updating with the supplied metadata
          version = {k: previous_version[k] for k in previous_version.keys() if k != 'parent'}   # don't copy snapshots
          version['_id'] = bson.ObjectId()
          version['version'] = new_version_num
          version['metadata'] = metadata
          version['base_version_id'] = previous_version.get('base_version_id', previous_version['_id'])
  
          return self._add_new_version_using_reference(symbol, version, previous_version, prune_previous_version)