Bug 138283 [KeyBindings] Action set with accelerator causes conflict
Build: 3.2 RC1a 1) Installed the attached plugin 2) Switch to the Java perspective 3) Type Ctrl+Shift+T -> Nothing happens. There is a conflict between the JDT's "Open Type" action, and the action set defined by the attached plugin. The conflict occurs even though the action set in question is not enabled in the Java perspective. Actions from a disabled action set should not be stealing key bindings from actions that do apply in that perspective. This occurs if you install the Eclipse Callisto release with JDT and BIRT. BIRT defines an action set with an action bound to Ctrl+Shift+T. This causes the JDT "Open Type" action to not be reachable by the Ctrl+Shift+T binding in the Java perspective.
bundles/org.eclipse.jface/src/org/eclipse/jface/bindings/BindingManager.java
/**
	 * <p>
	 * Computes the bindings given the context tree, and inserts them into the
	 * <code>commandIdsByTrigger</code>. It is assumed that
	 * <code>locales</code>,<code>platforsm</code> and
	 * <code>schemeIds</code> correctly reflect the state of the application.
	 * This method does not deal with caching.
	 * </p>
	 * <p>
	 * This method completes in <code>O(n)</code>, where <code>n</code> is
	 * the number of bindings.
	 * </p>
	 * 
	 * @param activeContextTree
	 *            The map representing the tree of active contexts. The map is
	 *            one of child to parent, each being a context id (
	 *            <code>String</code>). The keys are never <code>null</code>,
	 *            but the values may be (i.e., no parent). This map may be
	 *            empty. It may be <code>null</code> if we shouldn't consider
	 *            contexts.
	 * @param bindingsByTrigger
	 *            The empty of map that is intended to be filled with triggers (
	 *            <code>TriggerSequence</code>) to bindings (
	 *            <code>Binding</code>). This value must not be
	 *            <code>null</code> and must be empty.
	 * @param triggersByCommandId
	 *            The empty of map that is intended to be filled with command
	 *            identifiers (<code>String</code>) to triggers (
	 *            <code>TriggerSequence</code>). This value must either be
	 *            <code>null</code> (indicating that these values are not