Place the chicken in a large pan, with the onions, carrot, celery and peppercorns. Add enough water to cover, and bring to the boil. Simmer for about 1 hour, uncovered, until the chicken is tender. Leave to cool in the stock. Drain the chicken, reserving the stock.
Tear up the bread and soak in 6 tbsp (90 ml) of the chicken stock. Transfer to a blender or food processor, with the garlic and walnuts, and add 1 cup (8 fl oz/250 ml) of the remaining stock. Process until smooth, then transfer to a pan.
Over a low heat, gradually add more chicken stock to the sauce, stirring constantly, until it is of a thick pouring consistency. Season with salt and pepper, remove from the heat and leave to cool in the pan. Skin and bone the chicken, and cut into bite-size chunks.
Place in a bowl and add a little of the sauce. Stir to coat the chicken, then arrange on a serving dish. Spoon the remaining sauce over the chicken, and drizzle with the walnut oil. Sprinkle with walnuts and paprika and serve at once.