Bug 249574 [Contributions] ExternalActionManager.addPropertyChangeListener() doesn't register the ListenerList
bundles/org.eclipse.jface/src/org/eclipse/jface/action/ExternalActionManager.java
return true;
		}
		/**
		 * @see org.eclipse.jface.action.ExternalActionManager.ICallback#removePropertyChangeListener(String,
		 *      IPropertyChangeListener)
		 */
		public final void removePropertyChangeListener(final String commandId,
				final IPropertyChangeListener listener) {
			Object existing= registeredListeners.get(commandId);
			if (existing == listener) {
				registeredListeners.remove(commandId);
				if (registeredListeners.isEmpty()) {
					bindingManager.removeBindingManagerListener(this);
					bindingManagerListenerAttached = false;
				}
			} else if (existing instanceof ListenerList) {
				ListenerList existingList = (ListenerList) existing;
				existingList.remove(listener);
				if (existingList.size() == 1) {
					registeredListeners.put(commandId, existingList.getListeners()[0]);
				}
			}
		}
		/**
		 * @since 3.4
		 */
		public void preExecute(IAction action, Event event) {
			String actionDefinitionId = action.getActionDefinitionId();
			if (actionDefinitionId==null 
					|| !applicabilityChecker.isApplicable(action)) {