         // give the execute permission if user requested
         if self.isExecutable && saveOperation != .autosaveElsewhereOperation {
             var permissions = (attributes[FileAttributeKey.posixPermissions.rawValue] as? UInt16) ?? 0
-            if let originalPath = absoluteOriginalContentsURL?.path, permissions == 0 {
-                permissions = ((try? FileManager.default.attributesOfItem(atPath: originalPath))?[.posixPermissions] as? UInt16) ?? 0  // FILE_READ
+            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?

        try super.write(to: url, ofType: typeName, for: saveOperation, originalContentsURL: absoluteOriginalContentsURL)
        
        if saveOperation != .autosaveElsewhereOperation {
            // 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 {
                // update file information
                strongSelf.analyzer.invalidateFileInfo()
                
