Cut the lamb into 5 cm (2 inch) pieces, discarding any areas of excess fat. Season with salt and pepper.
Heat the oil in a flameproof casserole and fry the lamb, half at a time, until browned on all sides, lifting out with a slotted spoon on to a plate. Add the onions to the casserole and fry for 5 minutes until softened. Add the garlic and spices and cook, stirring, for 1 minute.
Stir the stock and honey into the casserole and bring to a simmer. Return the lamb to the pan, cover and cook in a preheated oven, 160°C (325°F), Gas Mark 3, for 40 minutes. Meanwhile, halve the preserved lemons and discard the pulp. Finely chop the rind.
Add the preserved lemon rind to the casserole with the olives, beans and parsley. Return to the oven for a further 20 minutes. Season to taste with salt and pepper, garnish with extra parsley and serve with warmed flatbreads, if liked.