Extract inheritor candidate check into separate InheritanceChecker interface