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
}
		context.set(PARM_MAP, parms);
		try {
			Object rc = factory.call(handler, null, "canExecute", context,
					Boolean.TRUE);
			if (Boolean.FALSE.equals(rc)) {
				return null;
			}
			return factory.call(handler, null, "execute", context, null);
		} finally {
			context.remove(PARM_MAP);
			i = parms.keySet().iterator();
			while (i.hasNext()) {
				context.remove((String) i.next());
			}
		}
	}
	public void deactivateHandler(String commandId, Object handler) {
		Object object = context.get(PREFIX + commandId);
		if (object == handler) {
			context.remove(PREFIX + commandId);
		}
	}
	public boolean canExecute(ParameterizedCommand command) {
		String commandId = command.getId();
		Object handler = context.get(commandId, new Object[] { "handler" });
		if (handler == null) {
			return false;
		}
		IContributionFactory factory = (IContributionFactory) context.get(