Preheat your oven to 140 Celsius. Line a 9 x4 inch loaf pan with parchment paper such that it overlaps the sides and can be used to lift out the cake later.
To make the rabdi, in a wide thick bottomed pan , heat the milk along with the sugar , cardamom, and saffron. Bring to boil. Using a spatula, gather the cream that forms and stick it to the side of the pan. Lower the heat to medium or low and continue heating the milk, removing the cream at regular intervals as above. When the milk has reduced to about 1/2 cup ( a third of the original volume), take off heat.
Transfer the rabdi (reduced milk and collected cream) to a bowl.
Add the cream cheese and butter to this rabid or milk if you are making a plain cheesecake . Place the bowl on top of a saucepan with an inch of water (double boiler) and place the saucepan on medium heat.
Whisk the mixture while heating in this manner until the cream cheese and butter has melted.
Cool this and then whisk in the egg yolks (and zest if using)
Sift in the flour and cornflour to this eggyolk- cheese-rabdi mixture. Whisk until smooth.
In another bowl, beat the egg whites until foamy.
Add the granulated sugar in portions and continue beating until stiff shiny peaks form (if you upturn the bowl, the whipped egg whites will not move!)
Fold in the egg whites into the earlier mixture gently, in three or four additions.
Pour into the lined pan. Place the pan in a bigger pan and fill the outer pan with hot water up to half way up your loaf pan.
Bake at 140 C for 40-45 minutes or until top is browned and the cheesecake is set.
Cool in oven with door ajar for 10 minutes.
Remove from pan by pulling out the parchment paper , and cool completely on a wire rack.
Chill for at least three hours in the refrigerator before serving . Wipe the knife after each cut on the cheesecake, to have neat cuts.