def __init__(self, *timeslots: List[Timeslot]):
self._table = defaultdict(list)<EOL>for slot in timeslots:<EOL><INDENT>for interval in self._table[slot.channel]:<EOL><INDENT>if slot.interval.has_overlap(interval):<EOL><INDENT>raise PulseError("<STR_LIT>")<EOL><DEDENT><DEDENT>self._table[slot.channel].append(slot.interval)<EOL><DEDENT>self._timeslots = tuple(timeslots)<EOL>
Create a new time-slot collection.

        Args:
            *timeslots: list of time slots
        Raises:
            PulseError: when overlapped time slots are specified