Bug 249574 [Contributions] ExternalActionManager.addPropertyChangeListener() doesn't register the ListenerList
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
this.commandManager = commandManager;
			this.applicabilityChecker = checker;
		}
		/**
		 * @see org.eclipse.jface.action.ExternalActionManager.ICallback#addPropertyChangeListener(String,
		 *      IPropertyChangeListener)
		 */
		public final void addPropertyChangeListener(final String commandId,
				final IPropertyChangeListener listener) {
			Object existing = registeredListeners.get(commandId);
			if (existing instanceof ListenerList) {
				((ListenerList) existing).add(listener);
			} else if (existing != null) {
				ListenerList listeners = new ListenerList(ListenerList.IDENTITY);
				listeners.add(existing);
				listeners.add(listener);
			} else {
				registeredListeners.put(commandId, listener);
			}
			if (!bindingManagerListenerAttached) {
				bindingManager.addBindingManagerListener(this);
				bindingManagerListenerAttached = true;
			}
		}
		public final void bindingManagerChanged(final BindingManagerEvent event) {
			if (event.isActiveBindingsChanged()) {
				final Iterator listenerItr = registeredListeners.entrySet()
						.iterator();
				while (listenerItr.hasNext()) {
					final Map.Entry entry = (Map.Entry) listenerItr.next();