boolean (@NotNull UField uField) { if (!uField.isFinal()) { return false; } final UExpression initializer = uField.getUastInitializer(); if (!(initializer instanceof UCallExpression) && !(initializer instanceof UQualifiedReferenceExpression)) { return false; } final PsiClass fieldClass = PsiTypesUtil.getPsiClass(uField.getType()); if (fieldClass == null) { return false; } final String qualifiedClassName = fieldClass.getQualifiedName(); return ExtensionPointName.class.getName().equals(qualifiedClassName) || ProjectExtensionPointName.class.getName().equals(qualifiedClassName) || InheritanceUtil.isInheritor(fieldClass, false, KeyedExtensionCollector.class.getName()); }