@NotNull
  XmlTag addSubTag(@NotNull XmlTag subTag, boolean first) {
    XmlTagChild[] children = myTag.getSubTags();
    if (children.length == 0) {
      children = myTag.getValue().getChildren();
    }
    if (children.length == 0) {
      return (XmlTag)myTag.add(subTag);
    }
    else if (first) {
      return (XmlTag)myTag.addBefore(subTag, children[0]);
    }
    else {
      return (XmlTag)myTag.addAfter(subTag, ArrayUtil.getLastElement(children));
    }
  }
@NotNull
  XmlTag addSubTag(@NotNull XmlTag subTag, boolean first)