Soak the rice in a bowl of water.
Fill a pot with water and bring it to a boil.
Cut off the top and bottom of each onion. Then make a single lateral cut on one side of each onion, running from top to bottom all the way to the center. This lets the onion layers separate as they boil.
Add the onions to the boiling water and boil for about 10 minutes, until they soften and the layers loosen.
Drain the rice and transfer it to a bowl. Add all the other ingredients except the onions, vinegar/wine and olive oil, then mix until well combined.
Once the onions are cooked, drain them and let them cool enough to handle. Separate the layers and fill each one with about one tablespoon of stuffing. Wrap the onion layer snugly around the filling, leaving a little room since the rice will expand as it cooks.
Heat the olive oil in a large pan. Add the stuffed onions cut side down and cook for 2-3 minutes. Pour in the vinegar/wine, cover with a lid, and cook on low for 20-30 minutes, flipping the onions after the first 10 minutes.