boolean (@NotNull List<? extends SamDescriptor> descriptors, @NotNull PsiFunctionalExpression expression) { ThreeState approximate = approximateHasType(expression, ContainerUtil.map(descriptors, d -> d.samClass)); if (approximate != ThreeState.UNSURE) return approximate == ThreeState.YES; PsiClass actualClass = LambdaUtil.resolveFunctionalInterfaceClass(expression); return ContainerUtil.exists(descriptors, d -> InheritanceUtil.isInheritorOrSelf(actualClass, d.samClass, true)); }