Bug 78666 [KeyBindings] errors: No warning if keybinding definitions collide
Using 3.1 M3, if I define a keybinding in the default "windows" context and with keybinding of "CTRL+B" or "CTRL+U", the keybindings are silently removed. In the very least, the conflict should be logged. Ideally, the user would also see the collision in the keybindings preference page. In this case, I think it's better to show some information than to just kill these mapping and not explain why. Eclipse is a dynamic platform. There are lots of scenarios where keybindings get added into a configuration and start conflicting with previously working keybindings.
bundles/org.eclipse.jface/src/org/eclipse/jface/bindings/BindingManager.java
parameterizedCommand);
		if (object instanceof Collection) {
			final Collection collection = (Collection) object;
			return (TriggerSequence[]) collection
					.toArray(new TriggerSequence[collection.size()]);
		}
		return EMPTY_TRIGGER_SEQUENCE;
	}
	/**
	 * A variation on {@link BindingManager#getActiveBindingsFor(String)} that
	 * returns an array of bindings, rather than trigger sequences. This method
	 * is needed for doing "best" calculations on the active bindings.
	 * 
	 * @param commandId
	 *            The identifier of the command for which the active bindings
	 *            should be retrieved; must not be <code>null</code>.
	 * @return The active bindings for the given command; this value may be
	 *         <code>null</code> if there are no active bindings.
	 * @since 3.2
	 */
	private final Binding[] getActiveBindingsFor1(final String commandId) {
		final TriggerSequence[] triggers = getActiveBindingsFor(commandId);
		if (triggers.length == 0) {
			return null;
		}
		final Map activeBindings = getActiveBindings();
		if (activeBindings != null) {
			final Binding[] bindings = new Binding[triggers.length];
			for (int i = 0; i < triggers.length; i++) {
				final TriggerSequence triggerSequence = triggers[i];