Bug 118516 [DataBinding] Asserts should provide meaningful messages
Currently we use JDK Assert in various places in the code. However, if an assert fails, there often is no indication of why it failed or what the assert failure means without looking at the code indicated by the stack trace. It would be nicer if we would log exceptions or throw RuntimeExceptions with useful error messages instead.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/observable/map/AbstractObservableMap.java
public Realm getRealm() {
		return changeSupport.getRealm();
	}
	public boolean isStale() {
		checkRealm();
		return stale;
	}
	public synchronized void removeChangeListener(IChangeListener listener) {
		changeSupport.removeChangeListener(listener);
	}
	public synchronized void removeStaleListener(IStaleListener listener) {
		changeSupport.removeStaleListener(listener);
	}
	/**
	 * Sets the stale state.  Must be invoked from the current realm.
	 * 
	 * @param stale
	 */
	public void setStale(boolean stale) {
		checkRealm();
		this.stale = stale;
		if (stale) {
			fireStale();
		}
	}
	/**
	 * Fires stale events.  Must be invoked from current realm.
	 */
	protected void fireStale() {
		checkRealm();