Другое решение - это то, что я видел недавно. Если установка измененного флага в вашем объекте 'file' затруднительна, вы всегда можете попробовать сохранить в потоке памяти и вычислить хеш для него, и если хеш отличается от хеша оригинальной версии, он изменился.
Это не так элегантно, как установка измененного флага, но его гораздо проще модифицировать.