'True if the other version is the immediate predecessor of this one.
That is, NO versions v exist such that:
(self < v < other and v not in self).'

def is_predecessor(self, other):

    if (len(self.version) != len(other.version)):
        return False
    sl = self.version[(-1)]
    ol = other.version[(-1)]
    return ((type(sl) == int) and (type(ol) == int) and ((ol - sl) == 1))
