'Create a new MessageSet()
@type start: Optional L{int}
@param start: Start of range, or only message number
@type end: Optional L{int}
@param end: End of range.'

def __init__(self, start=_empty, end=_empty):

    self._last = self._empty
    self.ranges = []
    self.getnext = (lambda x: (x + 1))
    if (start is self._empty):
        return
    if isinstance(start, list):
        self.ranges = start[:]
        self.clean()
    else:
        self.add(start, end)
