Bug 316246 Clean up code should not only run on IPresentationEngine.stop()
This results in the fact the clean up code in there is not run.
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/internal/workbench/swt/PartRenderingEngine.java
MElementContainer<?> parent = changedElement.getParent();
			AbstractPartRenderer parentRenderer = parent != null ? getRendererFor(parent)
					: null;
			if (parentRenderer == null)
				return;
			if (changedElement.isToBeRendered()) {
				Activator.trace(Policy.DEBUG_RENDERER, "visible -> true", null); 
				
				createGui(changedElement);
			} else {
				Activator
						.trace(Policy.DEBUG_RENDERER, "visible -> false", null); 
				
				removeGui(changedElement);
			}
		}
	};
	private EventHandler childrenHandler = new EventHandler() {
		public void handleEvent(Event event) {
			Object changedObj = event.getProperty(UIEvents.EventTags.ELEMENT);
			if (!(changedObj instanceof MElementContainer<?>))
				return;
			MElementContainer<MUIElement> changedElement = (MElementContainer<MUIElement>) changedObj;
			boolean isApplication = changedObj instanceof MApplication;
			
			AbstractPartRenderer renderer = getRendererFor(changedElement);
			if (!isApplication && renderer == null)
				return;
			String eventType = (String) event
					.getProperty(UIEvents.EventTags.TYPE);