docs: def notifications(self):
          """
          Generator method that yields all HMC notifications (= JMS messages)
          received by this notification receiver.
  
          Example::
  
              receiver = zhmcclient.NotificationReceiver(topic, hmc, userid,
                                                         password)
              for headers, message in receiver.notifications():
                  . . .
  
          Yields:
  
            : A tuple (headers, message) representing one HMC notification, with:
  
            * headers (dict): The notification header fields.
  
              Some important header fields (dict items) are:
  
              * 'notification-type' (string): The HMC notification type (e.g.
                'os-message', 'job-completion', or others).
  
              * 'session-sequence-nr' (string): The sequence number of this HMC
                notification within the session created by this notification
                receiver object. This number starts at 0 when this receiver
                object is created, and is incremented each time an HMC
                notification is published to this receiver.
  
              * 'class' (string): The class name of the HMC resource publishing
                the HMC notification (e.g. 'partition').
  
              * 'object-id' (string) or 'element-id' (string): The ID of the HMC
                resource publishing the HMC notification.
  
              For a complete list of notification header fields, see section
              "Message format" in chapter 4. "Asynchronous notification" in the
              :term:`HMC API` book.
  
            * message (:term:`JSON object`): Body of the HMC notification,
              converted into a JSON object.
  
              The properties of the JSON object vary by notification type.
  
              For a description of the JSON properties, see the sub-sections
              for each notification type within section "Notification message
              formats" in chapter 4. "Asynchronous notification" in the
              :term:`HMC API` book.
          """
  
          while True:
              with self._handover_cond:
  
                  # Wait until MessageListener has a new notification
                  while len(self._handover_dict) == 0:
                      self._handover_cond.wait(self._wait_timeout)
  
                  if self._handover_dict['headers'] is None:
                      return
  
                  # Process the notification
                  yield (self._handover_dict['headers'],
                         self._handover_dict['message'])
  
                  # Indicate to MessageListener that we are ready for next
                  # notification
                  del self._handover_dict['headers']
                  del self._handover_dict['message']
                  self._handover_cond.notifyAll()