In a large soup pot, combine rice, sugar, half and half, condensed milk, water, butter, and salt. Allow the mixture to simmer for 45 minutes, over low heat, stirring frequently.
In a large measuring cup, combine eggs and 2 cups of warm water. Whisk to combine. Temper the eggs by adding a scoop of the hot rice mixture into the water. Whisk it together. Repeat once more, then slowly pour the egg mixture into the pot of rice. Stir while you are pouring to be sure it is getting mixed in right away. Be careful to not skip this step or you will end up with chunks of eggs in your pudding.
Add your vanilla and stir to combine. Add raisins, and lemon zest, if desired, and thoroughly mix in. Allow the rice pudding to simmer for 5-8 more minutes after eggs have been added to be completely sure they have been cooked. Remove your pan from the heat. Pour into serving dishes or a storage container.
When you first remove the rice pudding from the burner, it may appear to have a bit of. extra liquid. However, once you allow it to sit and cool off, your rice pudding will set up and the extra liquid will evaporate.
Once your rice pudding has cooled, you can place it into an airtight container to store in the fridge, or you may serve the pudding while it is still hot. If desired, sprinkle the top of your serving dishes with cinnamon, serve warm or cold, and enjoy!