Bug 317121 [Compatibility] Second open of File menu shifts contributions around
The first time we open the File menu, the Restart item is by Switch Workspace. The second time it opens, Restart appears at the top. The cleanup was calling removeGui(*) on the child elements. Then the Restart item was added and rendered by the listener at idx==0. Then the later call to createGui(*) on all children skip Restart because it already has a widget. PW
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/modeling/MenuServiceFilter.java
private MApplication application;
	@Inject
	private IPresentationEngine renderer;
	@Inject
	EModelService modelService;
	private HashMap<Menu, Runnable> pendingCleanup = new HashMap<Menu, Runnable>();
	public void handleEvent(Event event) {
		if (!(event.widget instanceof Menu)) {
			return;
		}
		final Menu menu = (Menu) event.widget;
		Object obj = menu.getData(AbstractPartRenderer.OWNING_ME);
		if (obj == null && menu.getParentItem() != null) {
			obj = menu.getParentItem().getData(AbstractPartRenderer.OWNING_ME);
		}
		if (obj instanceof MRenderedMenu) {
			handlerRenderedMenu(event, menu, (MRenderedMenu) obj);
		} else if (obj instanceof MPopupMenu) {
			handleContextMenu(event, menu, (MPopupMenu) obj);
		} else if (obj instanceof MMenu) {
			handleMenu(event, menu, (MMenu) obj);
		}
	}
	private void handleMenu(final Event event, final Menu menu,
			final MMenu menuModel) {
		if ((menu.getStyle() & SWT.BAR) != 0) {
			
			return;
		}
		switch (event.type) {