code: def notify(self, resource, root=None):
          
          ret = []
          if root is not None:
              resource_list = root.with_prefix_resource(resource.path)
          else:
              resource_list = [resource]
          for key in list(self._relations.keys()):
              if self._relations[key].transaction.resource in resource_list:
                  if self._relations[key].non_counter > defines.MAX_NON_NOTIFICATIONS \
                          or self._relations[key].transaction.request.type == defines.Types["CON"]:
                      self._relations[key].transaction.response.type = defines.Types["CON"]
                      self._relations[key].non_counter = 0
                  elif self._relations[key].transaction.request.type == defines.Types["NON"]:
                      self._relations[key].non_counter += 1
                      self._relations[key].transaction.response.type = defines.Types["NON"]
                  self._relations[key].transaction.resource = resource
                  del self._relations[key].transaction.response.mid
                  del self._relations[key].transaction.response.token
                  ret.append(self._relations[key].transaction)
          return ret
docs: Prepare notification for the resource to all interested observers.
  
          :rtype: list
          :param resource: the resource for which send a new notification
          :param root: deprecated
          :return: the list of transactions to be notified