Bug 283536 [Compatibility] Handlers activated at the global level
Handlers that are activated at the global level need to use their activeWhen clause to determine the correct handler if there are more than one. PW
bundles/org.eclipse.e4.ui.services/src/org/eclipse/e4/ui/internal/services/ContextHandlerService.java
"org.eclipse.e4.core.services.IContributionFactory",
				new Object[] { handler });
		final Map parms = command.getParameterMap();
		Iterator i = parms.entrySet().iterator();
		while (i.hasNext()) {
			Map.Entry entry = (Map.Entry) i.next();
			context.set((String) entry.getKey(), entry.getValue());
		}
		context.set(PARM_MAP, parms);
		Object rc = null;
		try {
			rc = factory.call(handler, null, "canExecute", context,
					Boolean.TRUE);
		} finally {
			context.remove(PARM_MAP);
			i = parms.keySet().iterator();
			while (i.hasNext()) {
				context.remove((String) i.next());
			}
		}
		if (Boolean.FALSE.equals(rc)) {
			return false;
		}
		return true;
	}
	public IEclipseContext getContext() {
		return context;
	}
}