}
    public void setAction(Action a) {	Action oldValue = getAction();	if (action == null || !action.equals(a)) {	    action = a;	    if (oldValue != null) {		removeActionListener(oldValue);		oldValue.removePropertyChangeListener(actionPropertyChangeListener);		actionPropertyChangeListener = null;	    }	    configurePropertiesFromAction(action);	    if (action != null) {				// Don't add if it is already a listener		if (!isListener(ActionListener.class, action)) {		    addActionListener(action);		}		// Reverse linkage:		actionPropertyChangeListener = createActionPropertyChangeListener(action);		action.addPropertyChangeListener(actionPropertyChangeListener);	    }	    firePropertyChange("action", oldValue, action);	}    }