/** Copy constructor copies the state. */
  public AbstractActionExt(AbstractActionExt action) {
    Object[] keys = action.getKeys();
    for (int i = 0; i < keys.length; i++) {
      putValue((String) keys[i], action.getValue((String) keys[i]));
    }
    this.selected = action.selected;
    this.enabled = action.enabled;

    // Copy change listeners.
    PropertyChangeListener[] listeners = action.getPropertyChangeListeners();
    for (int i = 0; i < listeners.length; i++) {
      addPropertyChangeListener(listeners[i]);
    }
  }
 protected void configureReportAction(AbstractActionExt reportAction) {
   reportAction.setName(
       UIManagerExt.getString(CLASS_NAME + ".report_button_text", pane.getLocale()));
 }