def lowest_common_hypernyms(self, other):
if not isinstance(other, Synset):<EOL><INDENT>return set()<EOL><DEDENT>self_hypers   = set(synset for path in self.hypernym_paths<EOL>for synset in path)<EOL>other_hypers  = set(synset for path in other.hypernym_paths<EOL>for synset in path)<EOL>common_hypers = self_hypers & other_hypers<EOL>common_hypers = [(synset.min_depth, synset)<EOL>for synset in common_hypers]<EOL>if not common_hypers:<EOL><INDENT>return set()<EOL><DEDENT>max_depth     = max(x[<NUM_LIT:0>] for x in common_hypers)<EOL>return set(synset for (depth, synset) in common_hypers<EOL>if depth == max_depth)<EOL>
Finds the set of hypernyms common to both this synset and
``other`` which are lowest in the GermaNet hierarchy (furthest
away from GNROOT).

Arguments:
- `other`: another synset