@Override
      protected void addCompletions(@NotNull CompletionParameters parameters,
                                    @NotNull ProcessingContext context,
                                    @NotNull CompletionResultSet result) {
        PsiElement position = parameters.getPosition();
        if (position.getNode().getElementType() != XmlElementType.XML_ATTRIBUTE_VALUE_TOKEN) return;
        XmlAttribute attr = PsiTreeUtil.getParentOfType(position, XmlAttribute.class);
        if (attr != null && !hasEnumerationReference(parameters, result)) {
          final XmlAttributeDescriptor descriptor = attr.getDescriptor();

          if (descriptor != null) {
            if (descriptor.isFixed() && descriptor.getDefaultValue() != null) {
              result.addElement(LookupElementBuilder.create(descriptor.getDefaultValue()));
              return;
            }
            for (String value : getEnumeratedValues(attr)) {
              result.addElement(LookupElementBuilder.create(value));
            }
          }
        }
      }
@Override
      protected void addCompletions(@NotNull CompletionParameters parameters,
                                    @NotNull ProcessingContext context,
                                    @NotNull CompletionResultSet result)