code: def resolve_elements(self):
          if self.leaf:
              if not self.content:
                  return set()
              return set(self.content)
          not_nodes = [s for s in self.sons if s.not_value]
          positiv_nodes = [s for s in self.sons if not s.not_value]
          if not self.operand:
              self.operand = '|'
          res = set()
          i = 0
          for node in positiv_nodes:
              node_members = node.resolve_elements()
              if self.operand == '|':
                  res = res.union(node_members)
              elif self.operand == '&':
                  if i == 0:
                      res = node_members
                  else:
                      res = res.intersection(node_members)
              i += 1
          for node in not_nodes:
              node_members = node.resolve_elements()
              res = res.difference(node_members)
          return res