'@param name: A name.
@type name: L{unicode} or L{bytes}'

def __init__(self, name=''):

    if isinstance(name, unicode):
        name = name.encode('idna')
    if (not isinstance(name, bytes)):
        raise TypeError(('%r    is    not    a    byte    string' % (name,)))
    self.name = name
