def __new__(cls, obj, name=None):
    if isinstance(obj, cls):
        return obj
    if (name is None):
        name = cls.obj_to_name(obj)
    self = str.__new__(cls, name)
    self.original_object = obj
    return self
def __new__(cls, obj, name=None):
    if isinstance(obj, cls):
        return obj
    if (name is None):
        name = cls.obj_to_name(obj)
    self = str.__new__(cls, name)
    self.original_object = obj
    return self