Application encoding check can be skipped but I haven't tested how BOM header effects on readers/writers with using another encoding than UTF-8. And I think forcing people to use BOM headers always with UTF-8 encoding may not be a good choice. This is why I added double condition for it.