Bug 295611 [UI] The MPart tests leave many open shells
This turns out to be caused by the PRE's 'stop' method only working correctly when an MApplication is the 'uiRoot' element.
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/internal/PartRenderingEngine.java
while (!hackShell.isDisposed() && !display.isDisposed()) {
					try {
						if (!display.readAndDispatch()) {
							if (spinOnce)
								return;
							display.sleep();
						}
					} catch (ThreadDeath th) {
						throw th;
					} catch (Exception ex) {
						ex.printStackTrace();
					} catch (Error err) {
						err.printStackTrace();
					}
				}
			}
		});
		return IApplication.EXIT_OK;
	}
	public void stop() {
		if (theApp == null)
			return;
		for (MWindow window : theApp.getChildren()) {
			if (window.getWidget() != null) {
				((Shell) window.getWidget()).close();
			}
		}
	}
}