@property<EOL><INDENT>def recursive_derived(self):<DEDENT>
if self._recursive_derived is None:<EOL><INDENT>to_go = self.derived[:]<EOL>all_derived = []<EOL>while to_go:<EOL><INDENT>derive = to_go.pop()<EOL>if derive not in all_derived:<EOL><INDENT>all_derived.append(derive)<EOL>to_go.extend(derive.related_class.derived)<EOL><DEDENT><DEDENT>self._recursive_derived = all_derived<EOL><DEDENT>return self._recursive_derived<EOL>
list of all :class:`derive classes <hierarchy_info_t>`