Brush a 6-cup pudding basin with melted butter, refrigerate for 5 minutes, then rebrush with more butter. Line base of basin with baking paper. Put half the white chocolate in a heatproof bowl and position over a pan of simmering water. Stir until melted and smooth. Set aside. Coarsely chop remaining chocolate.
Using an electric mixer, beat butter and sugar until light and creamy. Add eggs, 1 at a time, beating well after each addition. Stir in melted chocolate. Add cranberry sauce and stir until combined. Sift flours over mixture, add milk, dried cranberries and chopped chocolate. Stir until well combined. Spoon mixture into prepared basin and smooth top with the back of a wet spoon.
Cut a round of baking paper to cover top of pudding and lay it over mixture. Cut a large sheet of baking paper and a large sheet of foil. Lay foil on top of paper and make a pleat in centre. Put paper-side down on top of pudding, then tie around rim of basin with string to secure. Make a strong loop that runs from one side of basin to the other, to help ease basin in and out of pan.
Put a trivet or upturned saucer in a large heavy-based pan and stand basin on top. Add enough boiling water to come halfway up side of basin. Cover pan with a tight-fitting lid, bring to the boil and cook for 3-3½ hours, replenishing with boiling water as pudding cooks. Remove pudding and stand for 30 minutes before turning out, or leave to cool completely before storing. Before serving, decorate top of pudding with white chocolate leaves.
To make white chocolate leaves, line a tray with baking paper. Brush underside of camellia leaves with a fine coating of melted chocolate and put on tray. Refrigerate for 10-20 minutes or until set. Carefully peel leaves from chocolate.
'You also might like Fast Ed's classic Christmas pudding