Throw Exception if file / dir is not writable
Refactoring
Refactoring
Refactoring