@Override
  public FileIncludeInfo @NotNull [] getIncludeInfos(@NotNull FileContent content) {
    CharSequence contentAsText = content.getContentAsText();
    if (CharArrayUtil.indexOf(contentAsText, XsltSupport.XSLT_NS, 0) == -1) return FileIncludeInfo.EMPTY;
    final ArrayList<FileIncludeInfo> infos = new ArrayList<>();
    NanoXmlBuilder builder = new NanoXmlBuilder() {
      boolean isXslt;
      boolean isInclude;
      @Override
      public void startElement(String name, String nsPrefix, String nsURI, String systemID, int lineNr) throws Exception {
        boolean isXsltTag = XsltSupport.XSLT_NS.equals(nsURI);
        if (!isXslt) { // analyzing start tag
          if (!isXsltTag) {
            throw NanoXmlUtil.ParserStoppedXmlException.INSTANCE;
          } else {
            isXslt = true;
          }
        }
        isInclude = isXsltTag && ("include".equals(name) || "import".equals(name));
      }

      @Override
      public void addAttribute(String key, String nsPrefix, String nsURI, String value, String type) {
        if (isInclude && "href".equals(key)) {
          infos.add(new FileIncludeInfo(value));
        }
      }

      @Override
      public void endElement(String name, String nsPrefix, String nsURI) {
        isInclude = false;
      }
    };

    NanoXmlUtil.parse(CharArrayUtil.readerFromCharSequence(contentAsText), builder);
    return infos.toArray(FileIncludeInfo.EMPTY);
  }
@Override
  public FileIncludeInfo @NotNull [] getIncludeInfos(@NotNull FileContent content)