Saving UNO R3 16U2 Firmware for Restore

I have been contemplating reprogramming the UNO 16U2 in order to reconfigure the board as a joystick (according to posts elsewhere in the Forum). I would like to make sure I can restore the 16U2 to its previous state to reuse the board or in case something goes wrong. How can I locate and save the existing 16U2 firmware before I reprogram it?

AVRdude has command line options for saving the contents of flash. It only works if the lock fuses aren't programed, I have no idea if they are or not on an Arduino though I'd guess not.
The command would be roughly the following:

avrdude -p (chipID) -c (programmer name) -U  flash:r:filename.hex

With (chipID) replaced with the name of the chip, and (programmer name) replaced with the programmer you're using (USBtiny, ArduinoISP, etc.)
No guarantees that the above line will work without massaging.

Thanks for the reply. I agree a little experimenting will definitely be happening. I did invest in an AVRISP MKII so I'm almost there.