Bug 315907 Render menus on SWT.Show
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/modeling/ContextMenuListener.java
ReferenceExpression ref = new ReferenceExpression(
				exp.getCoreExpressionId());
		try {
			return EvaluationResult.TRUE == ref.evaluate(eContext);
		} catch (CoreException e) {
			e.printStackTrace();
		}
		return false;
	}
	private void hideMenu(final Menu menu) {
		final IEclipseContext oldContext = tmpContext;
		tmpContext = null;
		final ArrayList<MMenuElement> tmpList = menuContributionsToRemove;
		menuContributionsToRemove = new ArrayList<MMenuElement>();
		menu.getDisplay().asyncExec(new Runnable() {
			public void run() {
				if (!menu.isDisposed()) {
					for (MMenuElement element : mmenu.getChildren()) {
						renderer.removeGui(element);
					}
					for (MMenuElement item : tmpList) {
						mmenu.getChildren().remove(item);
					}
				}
				part.getContext().set(IContextConstants.ACTIVE_CHILD,
						oldContext);
			}
		});
	}
}