Bug 164343 [DataBinding] Realm needs consistent Exception handling strategy
bundles/org.eclipse.core.databinding.observable/src/org/eclipse/core/databinding/observable/Realm.java
workerThread.start();
		}
	}
	/**
	 * Causes the <code>run()</code> method of the runnable to be invoked from
	 * within this realm at the next reasonable opportunity. This method is
	 * blocking the caller until the runnable completes.
	 * <p>
	 * Note: This class is not meant to be called by clients and therefore has
	 * only protected access.
	 * </p>
	 * 
	 * @param runnable
	 */
	protected void syncExec(Runnable runnable) {
		SyncRunnable syncRunnable = new SyncRunnable(runnable);
		asyncExec(syncRunnable);
		synchronized (syncRunnable) {
			while (!syncRunnable.hasRun) {
				try {
					syncRunnable.wait();
				} catch (InterruptedException e) {
					Thread.currentThread().interrupt();
				}
			}
		}
	}
	static class SyncRunnable implements Runnable {
		boolean hasRun = false;
		private Runnable runnable;