Bug 249574 [Contributions] ExternalActionManager.addPropertyChangeListener() doesn't register the ListenerList
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
final String commandId = (String) entry.getKey();
					final Command command = commandManager
							.getCommand(commandId);
					final ParameterizedCommand parameterizedCommand = new ParameterizedCommand(
							command, null);
					if (event.isActiveBindingsChangedFor(parameterizedCommand)) {
						Object value = entry.getValue();
						PropertyChangeEvent propertyChangeEvent = new PropertyChangeEvent(event
								.getManager(), IAction.TEXT, null, null);
						if (value instanceof ListenerList) {
							Object[] listeners= ((ListenerList) value).getListeners();
							for (int i = 0; i < listeners.length; i++) {
								final IPropertyChangeListener listener = (IPropertyChangeListener) listeners[i];
								listener.propertyChange(propertyChangeEvent);
							}
						} else {
							final IPropertyChangeListener listener = (IPropertyChangeListener) value;
							listener.propertyChange(propertyChangeEvent);
						}
					}
				}
			}
		}
		/**
		 * @see org.eclipse.jface.action.ExternalActionManager.ICallback#getAccelerator(String)
		 */
		public final Integer getAccelerator(final String commandId) {
			final TriggerSequence triggerSequence = bindingManager
					.getBestActiveBindingFor(commandId);
			if (triggerSequence != null) {