@Override
  public XmlTag getRootTag() {
    XmlTag rootTag = myRootTag;

    if (rootTag == null) {
      rootTag = (XmlTag)XmlPsiUtil.findElement(this, IXmlTagElementType.class::isInstance);

      if (!MY_ROOT_TAG_UPDATER.compareAndSet(this, null, rootTag)) {
        rootTag = MY_ROOT_TAG_UPDATER.getVolatile(this);
      }
    }

    return rootTag;
  }
@Override
  public XmlTag getRootTag()