'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
    else:
        for (i, child) in enumerate(self.parent.children):
            if (child is self):
                if (i == 0):
                    return
                return self.parent.children[(i - 1)]
        return
