Place the corned beef and onion in a large pot, then cover completely with water. Bring everything to a boil, then cover and simmer until the beef is very tender, about 3½ hours.
Remove the beef and onions from the pot and set aside. Do not discard the cooking liquid.
Add the potatoes to the liquid in the pot. Bring the liquid back to a boil, then reduce the heat and simmer.
Cook the potatoes until you can easily pierce them with a fork, about 15 to 20 minutes, then remove them and set aside. Do not discard the cooking liquid.
Add two cabbage leaves to the liquid in the pot. Boil for about 2 minutes or until wilted, then remove them from the pot and set aside.
Repeat with the remaining cabbage leaves.
When all the leaves are done, reserve two cups of the cooking liquid and discard the rest.
Preheat the oven to 350°F.
Mash the potatoes with the beaten egg, fresh parsley, and salt. Coarsely chop the beef.
Using a paring knife, remove the triangular thick stem at the bottom of each cabbage leaf so it will lay flat.
Place the potato mixture and corned beef in the middle of each leaf. Fold up the bottom and sides, then roll it up. Place each roll seam-side down in a rectangular baking dish or roasting pan.
Pour the reserved cooking liquid over the rolls, then cover the pan tightly with foil and bake for 45 minutes.