Preheat the oven to 180/350 degrees/gas 4. Put the ham in a large roasting pan with all of the poaching ingredients. Add water until it comes halfway up the side of the pan. Cover the ham with tinfoil ( making a tent over the ham to allow the steam to circulate).
Bake for two hours or until pink and cooked through, remove from the oven and let cool for 30 minutes, remaining covered.
While your ham poaches add the bay leaves and the dry spices to a food processor with the garlic cloves. Whizz it to form a paste then add the onions and chillies and whizz again.Pour in the rum and malt vinegar and keep whizzing while adding the thyme. Once it has a nice loose consistency the marinade is ready.
When the ham has had it's 30 mins out of the oven, transfer it to a roasting tray and let it cool down a bit. While it's still warm, put your hand underneath the skin and gently pull it away from the meat, leaving a bit of the fat underneath attached. Then with a sharp knife, score the ham by lightly making diagonal cuts across the leg.
Spoon the marinade over the pork (using the back of a spoon,it's hot stuff!) and into the scored fat. If you want to use your hands to rub it in PLEASE wear gloves!
You can cover the ham with cling film and chill it overnight if you wish, or cook right away.
Pour a small glass of water into the bottom of the roasting tray and put the ham into the preheated oven for 2 hours (350/180 degrees). Try to baste it every 30 mins or so to get it good and dark.
After the two hours are up, scrape a bit of the marinade off with a spatula ans spoon about 3/4 jar of marmalade over it and a good swig of rum on top. Smear this mixture all over the ham and let it drip down the sides too. Spoon the juices off the bottom of the pan back over the ham and put it back in the oven for another 30 minutes, basting every 5-7 minutes to build up the crust.