private @NotNull ASTNode expandTag() throws IncorrectOperationException {
    ASTNode endTagStart = XmlChildRole.CLOSING_TAG_START_FINDER.findChild(myTag.getNode());
    if (endTagStart == null) {
      final XmlTag tagFromText = createTagFromText("<" + myTag.getName() + "></" + myTag.getName() + ">");
      final ASTNode startTagEnd = XmlChildRole.START_TAG_END_FINDER.findChild(tagFromText.getNode());
      endTagStart = XmlChildRole.CLOSING_TAG_START_FINDER.findChild(tagFromText.getNode());
      assert startTagEnd != null : tagFromText.getText();
      assert endTagStart != null : tagFromText.getText();
      final LeafElement emptyTagEnd = (LeafElement)XmlChildRole.EMPTY_TAG_END_FINDER.findChild(myTag.getNode());
      if (emptyTagEnd != null) myTag.getNode().removeChild(emptyTagEnd);
      myTag.getNode().addChildren(startTagEnd, null, null);
    }
    return endTagStart;
  }
private @NotNull ASTNode expandTag()