boolean (@Nullable PsiType type) { if (type == null) return false; if (isPrimitiveWrapper(type)) return true; for (PsiType component : type instanceof PsiIntersectionType ? ((PsiIntersectionType)type).getConjuncts() : new PsiType[]{type}) { if (!(component instanceof PsiClassType)) return false; if (component.equalsToText(JAVA_LANG_OBJECT)) continue; if (component.equalsToText(JAVA_LANG_NUMBER)) continue; if (component.equalsToText(JAVA_IO_SERIALIZABLE)) continue; if (component.equalsToText("java.lang.constant.Constable")) continue; if (component.equalsToText("java.lang.constant.ConstantDesc")) continue; if (PsiTypesUtil.classNameEquals(component, JAVA_LANG_COMPARABLE)) continue; return false; } return true; }