@SuppressWarnings("unchecked")
      @Override
      public boolean execute(@NotNull PsiElement element) {
        if (element instanceof XmlTag) {
          XmlTag theirParent = ((XmlTag)element).getParentTag();
          PsiElement parent = getOriginal().equals(theirParent) ? (XmlTag)self : theirParent;
          return processor.execute(new IncludedXmlTag((XmlTag)element, parent));
        }
        if (element instanceof XmlAttribute) {
          XmlTag theirParent = ((XmlAttribute)element).getParent();
          XmlTag parent = getOriginal().equals(theirParent) ? (XmlTag)self : theirParent;
          return processor.execute(new IncludedXmlAttribute((XmlAttribute)element, parent));
        }
        if (element instanceof XmlText) {
          XmlTag theirParent = ((XmlText)element).getParentTag();
          XmlTag parent = getOriginal().equals(theirParent) ? (XmlTag)self : theirParent;
          return processor.execute(new IncludedXmlText((XmlText)element, parent));
        }
        return processor.execute(element);
      }
@SuppressWarnings("unchecked")
      @Override
      public boolean execute(@NotNull PsiElement element)