Bug 315281 update copyrights for 3.6
bundles/org.eclipse.core.databinding.property/src/org/eclipse/core/internal/databinding/property/value/MapSimpleValueObservableMap.java
});
				}
			}
		};
		this.detailListener = detailProperty.adaptListener(listener);
	}
	public Object getKeyType() {
		return masterMap.getKeyType();
	}
	public Object getValueType() {
		return detailProperty.getValueType();
	}
	protected void firstListenerAdded() {
		ObservableTracker.setIgnore(true);
		try {
			knownMasterValues = new IdentityObservableSet(getRealm(), null);
		} finally {
			ObservableTracker.setIgnore(false);
		}
		cachedValues = new IdentityMap();
		staleMasterValues = new IdentitySet();
		knownMasterValues.addSetChangeListener(new ISetChangeListener() {
			public void handleSetChange(SetChangeEvent event) {
				for (Iterator it = event.diff.getRemovals().iterator(); it
						.hasNext();) {
					Object key = it.next();
					if (detailListener != null)
						detailListener.removeFrom(key);
					cachedValues.remove(key);
					staleMasterValues.remove(key);