code: def get_complex_or_node_state(self, hosts, services):
          
          # First we get the state of all our sons
          states = [s.get_state(hosts, services) for s in self.sons]
          # Next we calculate the best state
          best_state = min(states)
          # Then we handle eventual not value
          if self.not_value:
              return self.get_reverse_state(best_state)
          return best_state
docs: Get state , handle OR aggregation ::
  
             * Get the best state (min of sons)
             * Revert if it's a not node
  
          :param hosts: host objects
          :param services: service objects
          :return: 0, 1 or 2
          :rtype: int