code: public void configure(Action action) {
          Assert.notNull(action, "The swing action to configure is required");
          action.putValue(Action.NAME, getText());
          action.putValue(Action.MNEMONIC_KEY, new Integer(getMnemonic()));
          action.putValue(Action.SMALL_ICON, getIcon());
          action.putValue("LargeIcon", getLargeIcon());
          action.putValue(Action.ACCELERATOR_KEY, getAccelerator());
          action.putValue(Action.SHORT_DESCRIPTION, caption);
          action.putValue(Action.LONG_DESCRIPTION, description);
      }
docs: Configures the given action with the information contained in this descriptor.
  
  @param action The action to be configured. Must not be null.
  
  @throws IllegalArgumentException if {@code action} is null.