Heat the oil in a large wide saucepan. Add the green cardamom pods, black cardamom pods, bay leaves, cinnamon stick, peppercorns, cloves, and cumin seeds, and cook for 20 seconds, then add the onion and cashew nuts. Be careful as they may splatter a bit. Fry for about 4 to 5 minutes, or until the onions are soft and start browning at the edges. Add the mushrooms, garlic, and salt, to taste, and saute over a high heat for 4 to 5 minutes.
Drain the rice that's been soaking and add the rice to the pan along with the water. Bring the rice mixture to a boil, then cover and lower the heat to very low, and cook for 10 minutes.
After 10 minutes, check a grain of rice to see if it is tender. If not, leave for another minute. Take the pan off the heat, remove the lid and allow any excess moisture to evaporate. Gently stir in the lemon juice, taste and adjust seasoning if necessary and stir gently with a fork.