PsiElement (XmlElement attributeValue, String value) { String searchValue = null; if (!myCaseSensitive) { String[] enumeratedValues = isEnumerated() ? getEnumeratedValues() : null; if (enumeratedValues != null) { searchValue = ContainerUtil.find(getEnumeratedValues(), v -> v.equalsIgnoreCase(value)); } if (searchValue == null) { searchValue = StringUtil.toLowerCase(value); } } else { searchValue = value; } //noinspection unchecked return delegate instanceof XmlEnumerationDescriptor ? ((XmlEnumerationDescriptor<XmlElement>)delegate).getValueDeclaration(attributeValue, searchValue) : super.getValueDeclaration(attributeValue, value); }