def __init__(self, owner, offset, size, extra=None):
    if (not isinstance(extra, Iterable)):
        raise TypeError('{cls} needs an iterable of values'.format(cls=self.__class__.__name__))
    extra = list(extra)
    if (len(extra) > (2 ** size)):
        raise TypeError('{cls} iterable has too many values (got {got}, {size} bits only address {max})'.format(cls=self.__class__.__name__, got=len(extra), size=size, max=(2 ** size)))
    super(FlagEnum, self).__init__(owner, offset, size, extra)
def __init__(self, owner, offset, size, extra=None):
    if (not isinstance(extra, Iterable)):
        raise TypeError('{cls} needs an iterable of values'.format(cls=self.__class__.__name__))
    extra = list(extra)
    if (len(extra) > (2 ** size)):
        raise TypeError('{cls} iterable has too many values (got {got}, {size} bits only address {max})'.format(cls=self.__class__.__name__, got=len(extra), size=size, max=(2 ** size)))
    super(FlagEnum, self).__init__(owner, offset, size, extra)