rem: if (!this._logins[key]) 
add: var rollback; if (!this._logins[key]) { 
context:     addLogin : function (login) {        // We rely on using login.wrappedJSObject. addLogin is the        // only entry point where we might get a nsLoginInfo object        // that wasn't created by us (and so might not be a JS        // implementation being wrapped)        if (!login.wrappedJSObject) {            var clone = Cc["@mozilla.org/login-manager/loginInfo;1"].                        createInstance(Ci.nsILoginInfo);            clone.init(login.hostname, login.formSubmitURL, login.httpRealm,                       login.username,      login.password,                       login.usernameField, login.passwordField);            login = clone;        }        var key = login.hostname;        // If first entry for key, create an Array to hold it's logins.        if (!this._logins[key])            this._logins[key] = [];        this._logins[key].push(login);        this._writeFile();    },
meta: 10520	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/10520/8adeedeb18d4cb3c237461b3560dddce1d4b19f8/storage-Legacy.js/clean/toolkit/components/passwordmgr/src/storage-Legacy.js