@Override
    public void doSomethingWithGivenStringToProduceXmlAttributeNowPlease(final @NotNull String namespace)
      throws IncorrectOperationException {
      String prefix = myNamespacePrefix;
      if (StringUtil.isEmpty(prefix)) {
        final XmlFile xmlFile = XmlExtension.getExtension(myXmlFile).getContainingFile(myElement);
        prefix = ExtendedTagInsertHandler.getPrefixByNamespace(xmlFile, namespace);
        if (StringUtil.isNotEmpty(prefix)) {
          // namespace already declared
          ExtendedTagInsertHandler.qualifyWithPrefix(prefix, myElement);
          return;
        }
        else {
          prefix = ExtendedTagInsertHandler.suggestPrefix(xmlFile, namespace);
          if (!StringUtil.isEmpty(prefix)) {
            ExtendedTagInsertHandler.qualifyWithPrefix(prefix, myElement);
            if (myEditor != null) {
              PsiDocumentManager.getInstance(myProject).doPostponedOperationsAndUnblockDocument(myEditor.getDocument());
            }
          }
        }
      }
      final RangeMarker marker;
      if (myEditor != null) {
        final int offset = myEditor.getCaretModel().getOffset();
        marker = myEditor.getDocument().createRangeMarker(offset, offset);
      }
      else {
        marker = null;
      }
      final XmlNamespaceHelper helper = XmlNamespaceHelper.getHelper(myXmlFile);
      helper.insertNamespaceDeclaration(myXmlFile, myEditor, Collections.singleton(namespace), prefix, __ -> {
        if (myEditor != null && !namespace.isEmpty()) {
          myEditor.getCaretModel().moveToOffset(marker.getStartOffset());
        }
      });
    }
@Override
    public void doSomethingWithGivenStringToProduceXmlAttributeNowPlease(final @NotNull String namespace)