         try super.write(to: url, ofType: typeName, for: saveOperation, originalContentsURL: absoluteOriginalContentsURL)
         
         if saveOperation != .autosaveElsewhereOperation {
+            // get the latest file attributes
+            self.fileAttributes = try? FileManager.default.attributesOfItem(atPath: url.path)  // FILE_READ
+            
             // store file hash (MD5) in order to check the file content identity in `presentedItemDidChange`
             if let data = try? Data(contentsOf: url) {  // FILE_READ
                 self.fileHash = data.md5

            }
            
            if saveOperation != .autosaveElsewhereOperation {
                // get the latest file attributes
                strongSelf.fileAttributes = try? FileManager.default.attributesOfItem(atPath: url.path)  // FILE_READ
                
                // update file information
                strongSelf.analyzer.invalidateFileInfo()
                

        // give the execute permission if user requested
        if self.isExecutable && saveOperation != .autosaveElsewhereOperation {
            var permissions = (attributes[FileAttributeKey.posixPermissions.rawValue] as? UInt16) ?? 0
            if let originalURL = absoluteOriginalContentsURL, permissions == 0 {
                permissions = ((try? FileManager.default.attributesOfItem(atPath: originalURL.path))?[.posixPermissions] as? UInt16) ?? 0  // FILE_READ(REAL)
            }
            if permissions == 0 {
                permissions = 0o644  // ???: Is the default permission really always 644?
