'Replace this node\'s child with a new child.'

def replace(self, child, new_child):

    if ((self.left is not None) and (self.left == child)):
        self.left = new_child
    elif ((self.right is not None) and (self.right == child)):
        self.right = new_child
    else:
        raise ValueError(u'Cannot    call    replace()    on    non-child')
