def METHOD_NAME(self,input,errors='strict'):
    if errors != 'strict':
        raise UnicodeError("Unsupported error handling "+errors)
    if not input:
        return u"", 0
    # IDNA allows decoding to operate on Unicode strings, too.
    if isinstance(input, unicode):
        labels = dots.split(input)
    else:
        # Must be ASCII string
        input = str(input)
        unicode(input, "ascii")
        labels = input.split(".")
    if labels and len(labels[-1]) == 0:
        trailing_dot = u'.'
        del labels[-1]
    else:
        trailing_dot = u''
    result = []
    for label in labels:
        result.append(ToUnicode(label))
    return u".".join(result)+trailing_dot, len(input)