In a skillet over medium heat, mix together the milk, sugar, and butter. Stir until the butter is right about to melt. Remove from the stove and let cool to 80-90°F
In a large bowl of a stand mixer, add the bread flour, salt, yeast, lemon zest, and citrus zest. Mix together.
Fit the stand mixer with the paddle or dough hook attachment. Pour in the milk mixture while the stand mixer runs on low speed. Once the dough has come together, add in the egg, egg yolk, rum or orange liquor, and vanilla extract.
Knead for 5 - 10 minutes on medium speed until the dough passes the window pane test. It should pull away from the sides of the bowl and not feel too sticky.
Cover the dough and let rest for 2 - 2.5 hours in a warm spot until doubled in size.
While the dough proofs, make your walnut filling. Add your walnuts to a food processor or blender and mix on high until coarsely ground.
Add the walnuts, milk, sugar, orange liquor, orange zest, cocoa powder, and salt to a skillet over medium heat. Whisk until well-combined and let cook until a thick paste forms, stirring constantly. Remove from heat, cover with plastic wrap, and let cool
Once the dough has doubled in size, divide it into two equal pieces. Take the first piece of dough and roll into a 9 inch x 6 inch rectangle. Spread half the walnut mixture evenly across the whole surface of the dough, making sure not to skimp on the edges. Roll the dough up so you have a 9 inch long roll. Repeat with the second piece of dough
Grease a baking tin and set aside. Twist the two pieces of dough around each other and place in the baking tin. Cover and let rise until doubled in size, which will take 2 - 3 hours.
Towards the end of the second proof, preheat the oven to 350°F. Mix together the egg white and milk and brush on the top of the loaf to create a beautiful shiny crust. Sprinkle the top with coarse sugar
Bake for 45 - 60 minutes until the crust is a deep golden brown and the loaf makes a hollow sound when tapped. The inside temperature should be 190°F. Check on the loaf around the 30 min mark - if it's browning too quickly, tent with aluminum foil.
Remove from the oven and let cool in the tin for 15 min. Remove from the tin and let cool completely on a wire rack