In a large mixing bowl stir together 2 cups of the flour, the yeast, and cardamom. In a medium saucepan heat and stir the milk, sugar, butter, and salt until warm (120 degree F to 130 degree F) and butter is almost melted. Add to flour mixture along with egg. Beat with an electric mixer on low speed for 30 seconds, scraping bowl constantly. Beat on high speed for 3 minutes. Using a spoon, stir in candied fruits and peels, raisins, walnuts, and lemon peel; stir in as much of the remaining flour as you can.
Turn out onto a lightly floured surface. Knead in enough remaining flour to make a moderately soft dough that is smooth and elastic (3 to 5 minutes total). Shape into a ball. place in a greased bowl; turn once to grease surface. Cover and let rise in a warm place until double (about 1 to 1-1/2 hours).
Punch dough down. Turn out onto a lightly floured surface. Divide dough in half; divide each half into thirds. Cover and let rest for 10 minutes. Meanwhile, grease 2 baking sheets.
With hands, roll each piece of dough into a 1-inch-thick rope about 15 inches long. Line up 3 of the ropes, 1 inch apart, on prepared baking sheet. Starting in the middle, loosely braid by bringing the left rope under the center tope. Repeat to end of loaf.
On the other end, braid by bringing alternate ropes over center rope from center. Press rope ends on each side together to seal. Repeat braiding with the remaining 3 ropes on other prepared baking sheet. Cover and let rise until nearly double (about 1 hour).
Brush loaves with milk. Bake in a 350 degree F oven for 20 to 25 minutes or until golden and loaves sound hollow when tapped. (Switch baking sheets to a different oven rack halfway through baking time to ensure even baking.) If necessary, cover with foil the last few minutes to prevent overbrowning. Remove from baking sheets. Cool on wire racks. Makes 32 servings.