Решил тут заморочиться не просто перебором всего и вся, а умным. Т.е. чтобы не перебирать все элементы для замены, я создаю динамический паттерн (т.е. при добавлении новых критериев для замены ничего менять не нужно), он находит в текущей строке совпадения и все они добавляются в Set коллекцию. В коллекции остаются только те элементы, которые нужно менять. Далее дело техники перебор коллекции и замена всех элементов по шаблону. Все работает и меняет нужные элементы, но Валидатор не пропускает, это несправедливо! Он даже не видит, что поток к файлу закрывается и ругается на него! Что я упустил?