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

@property
def prev_sibling(self):

    if (self.parent is None):
        return None
    for (i, child) in enumerate(self.parent.children):
        if (child is self):
            if (i == 0):
                return None
            return self.parent.children[(i - 1)]
