Bug 316298 [Compatibility] Support o.e.ui.menus visibleWhen
We need support in MCoreExpression for entire expressions created by the WorkbenchMenuService. They don't often use ReferenceExpressions to core expression definitions. PW
bundles/org.eclipse.e4.ui.workbench.swt/src/org/eclipse/e4/ui/workbench/swt/modeling/MenuServiceFilter.java
parentContext.set(IContextConstants.ACTIVE_CHILD, popupContext);
		final ArrayList<MMenuContribution> toContribute = new ArrayList<MMenuContribution>();
		final ArrayList<MMenuElement> menuContributionsToRemove = new ArrayList<MMenuElement>();
		ExpressionContext eContext = new ExpressionContext(popupContext);
		gatherMenuContributions(menuModel, menuModel.getElementId(),
				toContribute, eContext, true);
		for (String tag : menuModel.getTags()) {
			if (tag.startsWith("popup:") && tag.length() > 6) {
				gatherMenuContributions(menuModel, tag.substring(6),
						toContribute, eContext, false);
			}
		}
		addMenuContributions(menuModel, toContribute, menuContributionsToRemove);
		
		pendingCleanup.put(menu, new Runnable() {
			public void run() {
				if (!menu.isDisposed()) {
					unrender(menuModel);
				}
				removeMenuContributions(menuModel, menuContributionsToRemove);
				parentContext
						.set(IContextConstants.ACTIVE_CHILD, originalChild);
			}
		});
		render(menu, menuModel);
	}
	private void render(final Menu menu, final MMenu menuModel) {
		if (DEBUG) {
			trace("render", menu, menuModel);
		}