1. Cook the asparagus in boiling, salted water for 3-4 minutes, until just tender. Drain and refresh under cold water. Set aside.
2. Grate the zest from half an orange and reserve. Peel all the oranges and cut into segments, leaving the membrane behind. Squeeze out the juice from the membrane and reserve the juice.
3. Put the asparagus, orange segments, tomatoes and lettuce into a salad bowl. Combine the oil and vinegar and add 1 tbsp of the reserved orange juice and 1 tsp of the rind. Season with salt and plenty of ground black pepper. Just before serving, pour the dressing onto the salad and mix gently to coat.
Garnish with walnuts.