@Override
  public PsiElement getValueDeclaration(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);
  }
@Override
  public PsiElement getValueDeclaration(XmlElement attributeValue, String value)