code: def receive(self, protocolTreeNode):
          
          if not self.processIqRegistry(protocolTreeNode):
              if protocolTreeNode.tag == "message":
                  self.onMessage(protocolTreeNode)
              elif not protocolTreeNode.tag == "receipt":
                  #receipts will be handled by send layer
                  self.toUpper(protocolTreeNode)
docs: :type protocolTreeNode: ProtocolTreeNode