@Override
  public void invoke(@NotNull Project project,
                     @NotNull PsiFile file,
                     final @Nullable Editor editor,
                     @NotNull PsiElement startElement,
                     @NotNull PsiElement endElement) {
    final XmlAttribute attribute = PsiTreeUtil.getNonStrictParentOfType(startElement, XmlAttribute.class);
    if (attribute == null || attribute.getValue() != null) {
      return;
    }

    final XmlAttribute attributeWithValue = XmlElementFactory.getInstance(project).createAttribute(attribute.getName(), "", startElement);
    final PsiElement newAttribute = attribute.replace(attributeWithValue);

    if (editor != null && newAttribute instanceof XmlAttribute && newAttribute.isValid()) {
      final XmlAttributeValue valueElement = ((XmlAttribute)newAttribute).getValueElement();
      if (valueElement != null) {
        editor.getCaretModel().moveToOffset(valueElement.getTextOffset());
        if (!IntentionPreviewUtils.isIntentionPreviewActive()) {
          AutoPopupController.getInstance(newAttribute.getProject()).scheduleAutoPopup(editor);
        }
      }
    }
  }
@Override
  public void invoke(@NotNull Project project,
                     @NotNull PsiFile file,
                     final @Nullable Editor editor,
                     @NotNull PsiElement startElement,
                     @NotNull PsiElement endElement)