String (@NotNull Extension e, @NotNull PsiClass parentBeanClass, @NotNull @NonNls String attribute) { ExtensionPoint ep = e.getExtensionPoint(); if (ep == null) { return null; } PsiClass beanClass = ep.getBeanClass().getValue(); if (beanClass == null) { return null; } if (!InheritanceUtil.isInheritorOrSelf(beanClass, parentBeanClass, true)) { return null; } DomAttributeChildDescription attributeDescription = e.getGenericInfo().getAttributeChildDescription(attribute); if (attributeDescription == null) { return null; } return attributeDescription.getDomAttributeValue(e).getStringValue(); }