rem: delete OpenLayers.Event.observers[element.id]; 
add: delete OpenLayers.Event.observers[cacheID]; 
context:     stopObserving: function(elementParam, name, observer, useCapture) {        useCapture = useCapture || false;            var element = OpenLayers.Util.getElement(elementParam);        var elementId = (typeof elementParam == "string") ? elementParam                                                          : element.id;        if (name == 'keypress') {            if ( navigator.appVersion.match(/Konqueror|Safari|KHTML/) ||                  element.detachEvent) {              name = 'keydown';            }        }        // find element's entry in this.observers cache and remove it        var foundEntry = false;        var elementObservers = OpenLayers.Event.observers[elementId];        if (elementObservers) {                // find the specific event type in the element's list            var i=0;            while(!foundEntry && i < elementObservers.length) {                var cacheEntry = elementObservers[i];                    if ((cacheEntry.name == name) &&                    (cacheEntry.observer == observer) &&                    (cacheEntry.useCapture == useCapture)) {                        elementObservers.splice(i, 1);                    if (elementObservers.length == 0) {                        delete OpenLayers.Event.observers[element.id];                    }                    foundEntry = true;                    break;                 }                i++;                       }        }            //actually remove the event listener from browser        if (element.removeEventListener) {            element.removeEventListener(name, observer, useCapture);        } else if (element && element.detachEvent) {            element.detachEvent('on' + name, observer);        }        return foundEntry;    },
meta: 1027	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/1027/10b5c2df17f4eb6f1de1b40d3b927b3ea59376fa/Events.js/buggy/lib/OpenLayers/Events.js