Step 1: Prepare the Dough - In a large mixing bowl, combine 2 cups of all-purpose flour, 2 teaspoons of active dry yeast, 1/4 cup of sugar, and 1 teaspoon of salt. Mix well.
Step 2: Add Wet Ingredients - In a separate bowl, heat 1 cup of milk to about 110°F. Once it's ready, stir in 2 tablespoons of vegetable oil and 1 egg. Gradually add this mixture to the dry ingredients, stirring until a dough forms.
Step 3: Knead the Dough - Transfer the dough to a floured surface and knead for about 5-7 minutes until smooth and elastic. Place it in a greased bowl, cover with a kitchen towel, and let it rise in a warm place for about 1 hour, or until doubled in size.
Step 4: Prepare the Filling - While the dough is rising, mix 1 cup of poppy seeds with 1/2 cup of boiling water in a bowl. Allow them to soak for about 15 minutes. Then, combine the soaked poppy seeds with 1 cup of ground almonds, 1/4 cup of sugar, 1 teaspoon of vanilla, 1 tablespoon of lemon zest, and 1 tablespoon of orange zest. Stir until well combined.
Step 5: Roll Out the Dough - Once the dough has risen, punch it down and transfer it to a floured surface. Roll it out into a rectangle, approximately 1/4 inch thick.
Step 6: Assemble the Roll - Spread the poppy seed filling evenly over the rolled-out dough, leaving a small border around the edges. Starting from one end, carefully roll the dough into a log shape.
Step 7: Bake the Roll - Preheat your oven to 350°F. Place the rolled dough seam-side down on a baking sheet lined with parchment paper. Brush the top with a beaten egg for the egg wash. Bake for 30-35 minutes, or until golden brown.
Step 8: Cool and Serve - Once baked, allow the Poppy Seed Roll to cool on the baking sheet for a few minutes before transferring it to a wire rack to cool completely. Slice and enjoy!