'The node immediately following the invocant in their parent\'s children
list. If the invocant does not have a next sibling, it is None'

@property
def next_sibling(self):

    if (self.parent is None):
        return None
    for (i, child) in enumerate(self.parent.children):
        if (child is self):
            try:
                return self.parent.children[(i + 1)]
            except IndexError:
                return None
