boolean (PsiType type) { final PsiClass classType = PsiTypesUtil.getPsiClass(type); if (classType == null) return false; if (classType.hasAnnotation(ANNOTATION_NAME)) return true; return ContainerUtil.or(type.getSuperTypes(), superType -> isValueBasedClass(superType)); }