def extendWithKey(values, key=None, sourceObject=None):
    seen = set()
    seen_add = seen.add
    values = [x for x in values if (not ((x in seen) or seen_add(x)))]
    _list = []
    for value in values:
        if (sourceObject and key):
            _list.append(('%s.%s --> %s --> %s' % (self, key, sourceObject, value)))
        elif key:
            _list.append(('%s.%s --> %s' % (self, key, value)))
        else:
            _list.append(('%s --> %s' % (self, value)))
    return _list
def extendWithKey(values, key=None, sourceObject=None):
    seen = set()
    seen_add = seen.add
    values = [x for x in values if (not ((x in seen) or seen_add(x)))]
    _list = []
    for value in values:
        if (sourceObject and key):
            _list.append(('%s.%s --> %s --> %s' % (self, key, sourceObject, value)))
        elif key:
            _list.append(('%s.%s --> %s' % (self, key, value)))
        else:
            _list.append(('%s --> %s' % (self, value)))
    return _list