Bug 299685 Empty iconURI's cause 'MalformedURLException' failures rather than being ignored
One of the issues Lars' found is that if you fill in a field (i.e. iconURI) and subsequently clear it you don't end up in the same model state. Once the value has been set in the editor it will never be 'null' again, clearing the field just sets it to an empty string.
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/WBWRenderer.java
});
			shell.addShellListener(new ShellAdapter() {
				public void shellClosed(ShellEvent e) {
					e.doit = promptForSave(shell, w);
				}
			});
		}
	}
	/*
	 * Processing the contents of a Workbench window has to take into account
	 * that theere may be trim elements contained in its child list. Since the
	 * (non-Javadoc)
	 * 
	 * @see
	 * org.eclipse.e4.workbench.ui.renderers.swt.SWTPartFactory#processContents
	 * (org.eclipse.e4.ui.model.application.MPart)
	 */
	@Override
	public void processContents(MElementContainer<MUIElement> me) {
		if (!(((MUIElement) me) instanceof MWindow))
			return;
		MWindow wbwModel = (MWindow) ((MUIElement) me);
		super.processContents(me);
		
		if (wbwModel.getMainMenu() != null) {
			IPresentationEngine renderer = (IPresentationEngine) context
					.get(IPresentationEngine.class.getName());
			renderer.createGui(wbwModel.getMainMenu(), me.getWidget());
			Shell shell = (Shell) me.getWidget();
			shell.setMenuBar((Menu) wbwModel.getMainMenu().getWidget());