Preheat your oven to 200°C.
Finely chop the leek, mushroom and garlic.
Heat the olive oil in a frying pan over a medium heat. Add the leek and cook for about 5 minutes until soft. Add the mushrooms, half of thyme leaves and garlic. Gently sauté for 10 minutes until the all liquid has evaporated. Remove from the heat, let it cool, then transfer to a bowl. Add the zest of the lemon and season well.
Add the pine nuts if used, then the breadcrumbs and the egg. Mix well.
Push your fingers between the meat and skin on the top of the chicken then gently create a pocket for the stuffing. Do the same between the legs and the carcass. Stuff these pockets with the mushroom & leek mixture. Tie the neck with a metal skewer.
Cut the zested lemon in half and place in the cavity of the chicken together with half of the remaining thyme.
Mix the remaining thyme with some soft butter or spread.
Put the chicken in a roasting tray, rub with the butter then season with salt and pepper.
Put the chicken in the oven and turn the heat down to 180°C. Cook for about 90 minutes. Cover with foil if the breast is looking too brown too early. To check the chicken is cooked, stick a skewer into the fattest part of the thigh – if the juices run clear, the chicken is done.
Transfer the chicken to a serving dish, cover with foil and kitchen towel, then rest for 10 to 15 minutes.
Meanwhile make some gravy from the cooking juices.