    stopEditing: function(cancel)    {        if (!currentTarget)            return;        clearTimeout(this.saveTimeout);        delete this.saveTimeout;                this.detachListeners(currentEditor, currentPanel.context);        removeClass(currentPanel.panelNode, "editing");        removeClass(currentTarget, "editing");        if (currentGroup)            removeClass(currentGroup, "editing");        var value = currentEditor.getValue();        if (value == defaultValue)            value = "";                var removeGroup = currentEditor.endEditing(currentTarget, value, cancel);        try        {            if (cancel)            {                if (value != originalValue)                    currentEditor.saveEdit(currentTarget, originalValue, previousValue);                if (removeGroup && !originalValue && currentGroup)                    currentGroup.parentNode.removeChild(currentGroup);            }            else if (!value)            {                currentEditor.saveEdit(currentTarget, null, previousValue);                if (removeGroup && currentGroup)                    currentGroup.parentNode.removeChild(currentGroup);            }            else                this.save(value);        }        catch (exc)        {            ERROR(exc);        }        currentEditor.hide();        currentPanel.editing = false;        currentTarget = null;        currentGroup = null;        currentPanel = null;        currentEditor = null;        originalValue = null;        invalidEditor = false;                return value;    },
2454	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/2454/e1d42ad3fad63b72826a4e2ed0726866484c9ac3/editor.js/clean/extension/content/firebug/editor.js