boolean (IElementType child, IElementType parent) { if (child == parent) return true; if (extendsSets != null) { for (TokenSet set : extendsSets) { if (set.contains(child) && set.contains(parent)) return true; } } return altExtendsChecker != null && altExtendsChecker.process(child, parent); }