handling custom language file outside of source root

I'm trying to make our custom language plugin to correctly handle files which are not under the source root folder.

First, their icon must be changed. I implemented a FileIconPatcher but only icons in the editor tabs get changed, not the ones in the files tree. Any clues why?

Next, they should be excluded from error highlighting. I implemented both problemFileHighlightingFilter and problemHighlightingFilter and it did the trick. Do I actually need both and what's the difference?