Set aside until yeast begins to bubble.
Add 4 cups flour, melted butter, oil, warm milk, 1/2 cup water, sugar, salt and egg to the bowl.
Mix until all ingredients are incorporated. I use the paddle attachment on my Kitchen Aid for this step.
When all ingredients are mixed and the flour is no longer visible, switch to the dough hook and turn on low for 2 minutes.
Cover the bowl and place in a warm place for about 1 hour.
Prepare the filling by mixing all of the filling ingredients together in a medium size bowl. Set aside.
Flour a clean surface and remove the dough from the bowl onto the floured surface.
Roll the dough out into approximately a 12x20 inch rectangle. You may need to add flour to the dough if it is too sticky. Just sprinkle on and fold into dough.
Spread the filling onto the dough. With a knife, cut the dough lengthwise into three ling strips, approximately 4 inches each. You should have 3 strips of dough 4x20 inches when finished.
Take each strip and pinch the dough together so the filling stays inside of the dough strip (see photos on post). At this point, you should have three long ropes of filled dough. Place each of the strips of dough onto a jelly roll pan that has been lightly greased or lined with parchment paper.
Start with one end and begin to braid the bread, tuck the ends under.
Brush with one beaten egg. If you don't have a pastry brush, use your hands to lightly coat the dough with the egg wash.
Let rise in a draft free place for about 45 minutes.
When braid has risen for 45 minutes, place in oven and let cook for about 35 minutes. The dough should be golden when done.
Remove from oven and let cool at least 10 minutes, then slice and serve.