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
commandIdsByTrigger = new HashMap();
		final Map triggersByParameterizedCommand = new HashMap();
		computeBindings(activeContextTree, commandIdsByTrigger,
				triggersByParameterizedCommand);
		existingCache.setBindingsByTrigger(commandIdsByTrigger);
		existingCache.setTriggersByCommandId(triggersByParameterizedCommand);
		setActiveBindings(commandIdsByTrigger, triggersByParameterizedCommand,
				buildPrefixTable(commandIdsByTrigger));
		existingCache.setPrefixTable(prefixTable);
	}
	/**
	 * <p>Remove the specific binding by identity. Does nothing if the binding is
	 * not in the manager.</p>
	 * <p>
	 * This method completes in <code>O(n)</code>, where <code>n</code> is
	 * the number of bindings.
	 * </p>
	 * 
	 * @param binding
	 *            The binding to be removed; must not be <code>null</code>.
	 * @since 3.2
	 */
	public final void removeBinding(final Binding binding) {
		if (bindings == null || bindings.length < 1) {
			return;
		}
		final Binding[] newBindings = new Binding[bindings.length];
		boolean bindingsChanged = false;
		int index = 0;