public class SharedRecordAncestorLookup
Lookup for a nearest recognized ancestor (including the entity itself) provided
given set of the recognized entity names. This is useful when the particular module doesn't recognize
some subclasses defined by other modules. In this case it will return the entity name which is
recognized by the given module and it is nearest to the original entity in terms of inheritance.