code: def propagate_occur(self, node, value):
          
          while node.occur < value:
              node.occur = value
              if node.name == "define":
                  break
              node = node.parent
docs: Propagate occurence `value` to `node` and its ancestors.
  
          Occurence values are defined and explained in the SchemaNode
          class.