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
final Collection values = (Collection) currentValue;
			values.add(value);
		} else { 
			final Collection values = new ArrayList(1);
			values.add(value);
			map.put(key, values);
		}
	}
	/**
	 * <p>
	 * Takes a fully-specified string, and converts it into an array of
	 * increasingly less-specific strings. So, for example, "en_GB" would become
	 * ["en_GB", "en", "", null].
	 * </p>
	 * <p>
	 * This method runs in linear time (O(n)) over the length of the string.
	 * </p>
	 * 
	 * @param string
	 *            The string to break apart into its less specific components;
	 *            should not be <code>null</code>.
	 * @param separator
	 *            The separator that indicates a separation between a degrees of
	 *            specificity; should not be <code>null</code>.
	 * @return An array of strings from the most specific (i.e.,
	 *         <code>string</code>) to the least specific (i.e.,
	 *         <code>null</code>).
	 */
	private static final String[] expand(String string, final String separator) {