rem: this._writeFile(); 
add: var ok = this._writeFile();   if (!ok) { this._logins[key] = rollback; throw "Couldn't write to file, login not removed."; } 
context:     removeLogin : function (login) {        var key = login.hostname;        var logins = this._logins[key];        if (!logins)            throw "No logins found for hostname (" + key + ")";        // The specified login isn't encrypted, so we need to ensure        // the logins we're comparing with are decrypted. We decrypt one entry        // at a time, lest _decryptLogins return fewer entries and screw up        // indices between the two.        for (var i = 0; i < logins.length; i++) {            var [[decryptedLogin], userCanceled] =                        this._decryptLogins([logins[i]]);            if (userCanceled)                return;            if (!decryptedLogin)                continue;            if (decryptedLogin.equals(login)) {                logins.splice(i, 1); // delete that login from array.                break;                // Note that if there are duplicate entries, they'll                // have to be deleted one-by-one.            }        }        // Did we delete all the logins for this host?        if (logins.length == 0)            delete this._logins[key];        this._writeFile();    },
meta: 8395	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/8395/90b2ce5ffa6311b39a2bcba81fa89d850a6974d0/storage-Legacy.js/buggy/toolkit/components/passwordmgr/src/storage-Legacy.js