Roll out the butter between two pieces of greaseproof paper into a rectangle about 15x30cm/6x12in and 8mm (third of an inch) thick. Place in the fridge for two hours.
Meanwhile, to make the pastry dough, place the flour, salt, sugar and yeast in a large mixing bowl (making sure the yeast does not come into direct contact with the salt). Mix in the egg and most of the milk until you have a soft dough. Add a dash more milk if there are still dry flakes in the bowl.
Tip the dough onto a lightly floured surface and knead well for 10 minutes, or until it can be stretched with your hands. (It will be slightly firmer than bread dough.) Wrap the dough in clingfilm and chill in the fridge for a couple of hours at least.
Once chilled roll the dough out onto a floured work surface and roll it into a 50x20cm/20x8in rectangle. Lay the chilled butter over two-thirds of the dough. Bring the unbuttered section into the centre, then fold over the covered top. You now have three layers of dough and two layers of butter. Pinch the edges together slightly to seal in the butter. Return the dough to the fridge to chill for 30 minutes.
Once chilled, give the dough a quarter turn and roll out the dough into a long rectangle again and repeat the folding process. Refrigerate for 30 minutes again. Repeat this process twice more then wrap the dough in clingfilm and leave it to rest overnight.
For the emmental, mushroom and onion pastry filling, in a hot pan, add a little olive oil and fry the onions for a couple of minutes. Add the mushrooms and fry gently for five minutes, or until they are soft.
Remove from the heat and season with salt and pepper and allow to cool completely.
Line a baking tray with baking parchment. Take the chilled dough from the fridge. Cut the dough in half and on a lightly floured surface, roll one part into a rectangle about 25x35cm/10x14in, and a little less than a centimetre thick.
With the long side of the pastry in front of you, spread half of the cool mushroom and onion mix over the pastry and top with the thin slices of cheese.
You are now going to roll the pastry towards you into a tight Swiss roll. So take the two furthest corners and fold them over the edge. Pull the dough gently upwards each time you roll it to keep the pastry tight.
Once you have a long Swiss roll in front of you. Gently roll it back and forth to seal the edges.
Repeat with the second piece of dough and the rest of the filling.
Cut each roll into 10 slices to create 10 individual pastries and arrange on one or two baking trays lined with baking parchment.
Cover the pastries on the baking tray in clingfilm, or place the tray in a large plastic bag, and leave to rise for one hour.
Preheat a non-fan oven to 180C/350F/Gas 4
Uncover the pastries, brush them with egg wash and grate some grated emmental on top of each one.
Bake the pastries in the pre-heated non-fan oven for around 20 minutes, or until golden-brown.
Allow the pastries to cool a little on a wire rack then eat them warm.
For the sweet pastries, first make the chocolate crème patissière. Beat the eggs and sugar together in a bowl, then add the cocoa and flour, and whisk well.
In a heavy-based saucepan, heat the milk, cream and calvados until it reaches a simmer, then slowly pour the mixture onto the eggs, whisking as you pour. Return the mixture to the pan and heat gently, stirring constantly, until it has thickened and come to the boil. Remove from the heat and stir in the broken chocolate and vanilla. Allow the chocolate to melt and stir to mix, then leave to cool covered with a disc of baking parchment to stop a skin forming.
To make the apple purée, heat the apples with a splash of water and the caster sugar for 10 minutes, or until the apples are softened and broken down to a purée. (If needed blend the apple mixture in a food processor for one minute into a smooth purée, then pass it through a sieve.)
Put the apple purée into a bowl and allow to cool completely.
Take the chilled dough and roll it out on a lightly floured surface to just under a centimetre thick and cut it into 12cm/4½in squares. You should get 8-12 equally sized squares.
Spoon one tablespoon of the crème patissière onto the middle of each of the pastry squares and spoon one tablespoon of the apple purée next to it. Fold the pastry into triangles, and press the edges together firmly to seal.
Arrange the pastries well-spaced apart on one or two baking trays lined with baking parchment. Cover with clingfilm, or place in a large plastic bag, and leave to rise for 1-2 hours.
Preheat the oven to 180C/350F/Gas 4.
Pierce the top of the triangles with a sharp knife to let the steam out and brush the triangles with egg wash.
Bake on a lined tray for 15-20 minutes, or until golden-brown. Cool them on a wire rack.