Preheat oven to 350 degrees F. Butter two 9-inch cake pans and lightly dust them with flour.
Place the raisins in a bowl and add hot water to cover; set aside. (Note from Julesong: you can use warm rum or other liquor, if you like.).
Sift the flour into a medium bowl, then add the salt, baking powder, cinnamon, and nutmeg; stir to combine.
In another large bowl, whisk together the sugar, melted butter, eggs, and vanilla. Gradually add the flour mixture, stirring, until a smooth batter forms.
Drain the raisins in a sieve.
Stir the walnuts, drained raisins, cored/diced tomatoes, and coconut flakes into the batter.
Pour an equal amount of batter into each prepared cake pan and spread evenly with a spatula.
Bake in preheated 350 degree F oven for about 60 minutes of until a toothpick inserted into center comes out clean. When done, remove from oven and let cake cool in pans on wire racks.
When cake is cool to the touch, slide a knife or icing spatula around the inside rim of each pan to loosen edges and carefully flip the cake layers onto the wire racks to continue cooling. (You can use an inverted plate on top of the pan, flip, and carefully transfer to racks, if you like.).
If you want to frost the cake, make the cream cheese frosting while layers are cooling.
To make the frosting, in a medium bowl beat together the cream cheese and butter with an electric or hand mixer until well blended.
Add the vanilla and beat until incorporated.
Gradually add the powdered sugar while continuing to beat until smooth.
Beat in cinnamon until incorporated. Use to frost the cake.
To frost cake: when cake is completely cooled place one layer on serving plate and, using a spatula, frost all over with half the frosting. Place second layer on top. Frost second layer with remaining frosting.