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

def get_previous_sibling(self):

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