'Return the set consisting all cloned ancestors of this
ClauseElement.
Includes this ClauseElement.  This accessor tends to be used for
FromClause objects to identify \'equivalent\' FROM clauses, regardless
of transformative operations.'

@util.memoized_property
def _cloned_set(self):

    s = util.column_set()
    f = self
    while (f is not None):
        s.add(f)
        f = f._is_clone_of
    return s
