Bug 315907 Render menus on SWT.Show
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/modeling/ContextMenuListener.java
case SWT.Dispose:
			mmenu.getContext().dispose();
			mmenu.setContext(null);
			break;
		}
	}
	private void showMenu(Menu menu) {
		ExpressionContext eContext = new ExpressionContext(mmenu.getContext());
		for (MMenuContribution menuContribution : application
				.getMenuContributions()) {
			if (isVisible(menuContribution, eContext)) {
				for (MMenuElement item : menuContribution.getChildren()) {
					MMenuElement copy = (MMenuElement) EcoreUtil
							.copy((EObject) item);
					menuContributionsToRemove.add(copy);
					mmenu.getChildren().add(copy);
				}
			}
		}
		for (MMenuElement element : mmenu.getChildren()) {
			renderer.createGui(element, menu);
		}
	}
	private boolean isVisible(MMenuContribution menuContribution,
			ExpressionContext eContext) {
		if (menuContribution.getVisibleWhen() == null) {
			return false;
		}
		MCoreExpression exp = (MCoreExpression) menuContribution
				.getVisibleWhen();