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
private static final String PREFIX = "HDL_";
	private static final String PARM_MAP = "legacyParameterMap"; 
	private IEclipseContext context;
	public ContextHandlerService(IEclipseContext context) {
		this.context = context;
	}
	public void activateHandler(String commandId, Object handler) {
		context.set(PREFIX + commandId, handler);
	}
	public Object executeHandler(ParameterizedCommand command) {
		String commandId = command.getId();
		Object handler = context.get(commandId, new Object[] { "handler" });
		if (handler == null) {
			return null;
		}
		IContributionFactory factory = (IContributionFactory) context.get(
				"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());