1.To make the filling: Put the pistachios into the container of a clean coffee grinder. Grind to a coarse powder. Put the ground pistachios, sugar, poppy seeds and milk into a bowl. Mix to a paste. Put aside.
2.To make the coconut casing: Put the sugar into a small, heavy-bottomed pan. Add 4tbsp water. Stir and bring to a simmer. Cook over a meduim high heat for 2-3 minutes until the syrup forms a single thread when a little is dropped from a spoon into a cup of cold water. Remove from the heat. Add the coconut and cardamom. Mix well. Add the condensed milk. Stir to mix.
3.Lay a 23cm/9in piece of cling film on your work suface. While the coconut paste is still warm, roll it into a thick, 23cm/9in sausage. Put the coconut sausage horizontally on to the centre of the piece of cling film and flatten it to form a rectangle about 9cm/ 3½in wide.
4.Roll the pistachio paste into a separate sausage of the same length. Put the rolled pistachio sausage on the coconut rectangle, slightly below the centre, a little closer to your end. With the aid of the cling film, fold the coconut paste over the pistachio paste. Press down on the cling film to firm up the roll. Now continue rolling, being careful to keep the cling film on the outside of the roll, until you have a slim 'Swiss roll'. Press down evenly on the cling film to get a neat roll. Let the roll cool and harden a bit. Remove the cling film and cut crossways into 1cm/½in thick slices.