'Negate the sense of the root connector. This reorganises the children
so that the current node has a single child: a negated node containing
all the previous children. This slightly odd construction makes adding
new children behave more intuitively.
Interpreting the meaning of this negate is up to client code. This
method is useful for implementing "not" arrangements.'

def negate(self):

    self.children = [self._new_instance(self.children, self.connector, (not self.negated))]
    self.connector = self.default
