code: public JMenuItem add(UserInterfaceAction action)
  	{
  		try
  		{
  			Method _specializedMethod = getClass().getMethod(FUNCTION_NAME_ADD, new Class[]
  			{
  				action.getClass()
  			});
  			return (JMenuItem) _specializedMethod.invoke(this, new Object[]
  			{
  				action
  			});
  		}
  		catch (Exception _exception)
  		{
  			_exception.printStackTrace(System.err);
  			return null;
  		}
  	}
docs: Polymorphic add, it uses introspection to call the <code>add</code> function that match the class of the provided action.
  
  @param action the action to link to the new menu item.
  @return the new menu item added to this menu.