Grease a 23cm/9in fluted tart tin with butter.
For the pastry, measure the flour, icing sugar and butter into the bowl of a food processor and pulse until the mixture resembles fine breadcrumbs. Add the egg yolk and a tablespoon of cold water and mix until it comes together to form a soft dough.
Wrap the dough in cling film and leave to rest in the fridge for about 30 minutes.
Preheat the oven to 200C(180C fan)/400F/Gas 6.
Dust the work surface with flour then roll out the pastry as thinly as you can to a circle about 5cm/2in larger than your flan tin.
Line the tin with the pastry. Donâ€™t worry if the pastry breaks a little, it is easy to patch up. Chill for 15 minutes.
Prick the base of the pastry with a fork, line the pastry case with baking paper or foil and fill with baking beans. Bake the pastry blind for 10 minutes, or until just lightly golden-brown. Remove the paper and beans and return the tart to the oven to cook for a further 5-7 minutes, or until pale golden-brown and the base is cooked.
To make the chocolate filling, melt the butter and chocolate in a heatproof bowl set over a pan of gently simmering water until melted and smooth. Remove from the heat and stir in the sugar and flour. Beat in the eggs, one at a time, and leave to stand.
To make the orange filling, melt the butter and white chocolate in a heatproof bowl set over a pan of gently simmering water until melted and smooth. Remove from the heat and stir in the orange zest, sugar and flour. Beat in the egg yolks, one at a time and pour the mixture into a jug.
Place the pastry case on a baking tray. Pour the chocolate mixture into the pastry case. Drizzle or pipe the orange filling over the chocolate filling to create a swirl effect. Draw a cocktail stick through the filling to create a marbled effect.
Bake for 10-12 minutes, or until just set around the edges, but still slightly wobbly in the centre.
Remove from the oven and allow to cool slightly, until warm but not piping hot, then serve.