Using a morter and pestle (such as Thai green granite) or a small blender, grind the green chilis (if used) or cayenne, ginger, fenugreek, coriander, turmeric, cumin, mustard seed, pepper, salt and lime juice into a curry paste.
Soak the Basmati rice for about 30 minutes befre cooking.
Begin to cook the rice at about the time you start to cook the meatballs.
Mix the meat, cinnamon, cardamom, pepper, garlic, onion and egg into a stiff paste.
With floured hands, form the meat paste into round balls about the size of a walnut.
Heat the oil in a skillet and fry the meatballs over moderate heat to a light brown.
Remove the meatballs from the fat and drain them on paper towels or a rack.
Add the chopped onion for the curry gravy in the fat remaining in the skillet and fry it until it is just soft, then add the curry paste and cook for five minutes.
Then transfer the fried curry paste and onion mixture to a pot and add the coconut milk.
Stir very well over medium heat while bringing the curry gravy to a simmer.
Then add the meatballs and simmer them in the gravy (curry) for 30 minutes.
It is recommended that you serve this dish with fried Poppadoms, Rasmati rice, a select assortment of chutney and pickles, shredded coconut, sultanas (golden raisins), and pine nuts, all arranged in small side dishes.