@Override
      public void visitElement(@NotNull PsiElement element) {
        TextRange range = element.getTextRange().intersection(fileValueRange);
        if (range == null) return;

        @Nullable ExclusionKind kind = classifier.apply(element);
        if (kind == ExclusionKind.exclude) {
          exclusionStarted(range);
        }
        else if (kind != null) {
          exclusionStarted(range);
          var tokenKind = kind == ExclusionKind.markup ? TextContentImpl.TokenKind.markup : TextContentImpl.TokenKind.unknown;
          tokens.add(new TextContentImpl.PsiToken("", root, TextRange.from(range.getStartOffset(), 0).shiftLeft(rootStart), tokenKind));
        }
        else {
          super.visitElement(element);
        }
      }
@Override
      public void visitElement(@NotNull PsiElement element)