Arduino Leonardo soft reset from Serial port?

"UPDATED"
I know I can do a hard reset on the Leonardo by opening the port at 1200 baud and then closing it. That is similar to pressing the reset button which reloads the boot loader and takes a few seconds to occur. It then starts the sketch at Setup().

What I would like to do is a soft reset that simply restarts the sketch at Setup() and do that from a PC using the serial port without having to load the boot loader.

How can that be done?

Put all the code from setup() in a new function and call it from setup() or any other time that you want to start over

You are absolutely right. That would work. I neglected to put in my OP that I need to do it from a program on a PC via the serial port. My apologies.

Why do you have to do it in the first place ?

Good question. I guess I should really figure out if it is absolutely necessary.

You also gave me an idea with your first reply. I could send a a reset command in the form of data from the PC that would cause the Leonardo sketch to rerun Setup().

Re-running setup() is NOT the same as resetting the Arduino. Once again, you need to explain what you are trying to do. When performing a hard-reset, the bootloader is the first thing run. You can't change that.