Bug 315281 update copyrights for 3.6
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/map/ComputedObservableMap.java
protected void firstListenerAdded() {
		getRealm().exec(new Runnable() {
			public void run() {
				hookListeners();
			}
		});
	}
	protected void lastListenerRemoved() {
		unhookListeners();
	}
	private void hookListeners() {
		if (keySet != null) {
			knownKeys = new IdentitySet();
			keySet.addSetChangeListener(setChangeListener);
			keySet.addStaleListener(staleListener);
			for (Iterator it = this.keySet.iterator(); it.hasNext();) {
				Object key = it.next();
				hookListener(key);
				knownKeys.add(key);
			}
		}
	}
	private void unhookListeners() {
		if (keySet != null) {
			keySet.removeSetChangeListener(setChangeListener);
			keySet.removeStaleListener(staleListener);
		}
		if (knownKeys != null) {
			Object[] keys = knownKeys.toArray();
			for (int i = 0; i < keys.length; i++) {