@NotNull
  PsiElement setName(final @NotNull String name) throws IncorrectOperationException {
    final XmlTag dummyTag = createTag(name, "aa");
    final ASTNode tag = myTag.getNode();
    final CharTable charTableByTree = SharedImplUtil.findCharTableByTree(tag);
    ASTNode child = XmlChildRole.START_TAG_NAME_FINDER.findChild(tag);
    LOG.assertTrue(child != null, "It seems '" + name + "' is not a valid tag name");
    TreeElement tagElement = (TreeElement)XmlChildRole.START_TAG_NAME_FINDER.findChild(dummyTag.getNode());
    LOG.assertTrue(tagElement != null, "What's wrong with it? '" + name + "'");
    tag.replaceChild(child, ChangeUtil.copyElement(tagElement, charTableByTree));
    final ASTNode childByRole = XmlChildRole.CLOSING_TAG_NAME_FINDER.findChild(tag);
    if (childByRole != null) {
      final TreeElement treeElement = (TreeElement)XmlChildRole.CLOSING_TAG_NAME_FINDER.findChild(dummyTag.getNode());
      if (treeElement != null) {
        tag.replaceChild(childByRole, ChangeUtil.copyElement(treeElement, charTableByTree));
      }
    }
    return myTag;
  }
@NotNull
  PsiElement setName(final @NotNull String name)