1 - Preheat the oven to 180°C / 160°C Fan / Gas 4.
2 - Thoroughly grease a 10 cup capacity non stick bundt tin or a deep, 21cm cake tin (the best way is the melt a little butter and brush it into every crevice).
3 - Place the butter, sugar and lemon rind into a bowl and using an electric mixer, beat until light and fluffy.
4 - Add the eggs, one at a time, beating thoroughly after each addition.
5 - Gently stir in the ricotta, lemon juice, self-raising flour and semolina until combined. Spoon the mixture in the prepared tin.
6 - Bake in the pre-heated oven for 45 minutes, or until a skewer inserted into the middle comes out clean. Allow to stand for 5 minutes before turning out onto a wire rack to cool.
7 - While the cake is cooking make the Amaretto cherries. Mix the corn flour with a little of the water and then add to the rest of the water. Pour into a medium pan and add the caster sugar and Amaretto if using. Stir over a medium heat until the sugar dissolves. Add the cherries and simmer for 5 minutes. Set aside to cool.
8 - Whip the cream to soft peaks and stir in the Amaretto if using.
9 - To serve, spoon some of the cherries into the middle of the cake and dust with icing sugar. Place the rest of the cherries in a bowl and serve with the whipped cream.