In the bowl of a stand mixer, combine the warm water, sugar (or honey), yeast, and eggs. Mix until blended and let sit for 5 minutes until the mixture becomes foamy.
Add Flours and Knead
Add the salt, bread flour and whole wheat flour to the mixing bowl. Using the dough hook attachment, knead the mixture on medium speed for 10 minutes. Scrape the sides of the bowl with a rubber spatula.
Add butter and knead some more
Reduce the mixer speed to low speed and knead for an additional 10 minutes. While kneading, add the softened butter 1-2 tablespoons at a time and allow to fully mix in. After 10 minutes, the dough should be smooth and elastic. Test the dough's elasticity by performing the "windowpane test" as follows: Pull out a small lump of dough. Use the tips of your index fingers and thumbs to spread the dough very thin -thin enough for light to shine through it. If the dough tears before you can stretch it to that translucent stage, it needs more kneading. Knead for a few more minutes and then do the windowpane test again. If you skip the windowpane test, your bread probably will not rise very well, which means it won't fill out the pan and bake into that perfect square shape.
First Rise
When the dough has passed the windowpane test, turn off the mixer. Remove the dough, shape the dough into a ball and place it in a lightly greased bowl. Cover with plastic wrap or a damp towel and let it rise in a warm place for about 1 hour, or until doubled in size.
Shape the Dough
Turn the risen dough onto a lightly floured work surface. Gently stretch it into a rectangle that's about 10x12 inches, and 2 inches thick. Roll it up like a jelly roll, pinching the edge to seal. Fold the two ends toward the center (not all the way, just folding them a few inches is fine) and pinch to secure.
Final Proof
Place the shaped dough, seam side down, into a buttered 13x4x4-inch Pullman pan. Close the lid and let it rise for 45 minutes. Meanwhile, preheat the oven to 375℉.
Bake the Bread
Check that the dough has risen to about 2 inches below the top of the pan. When it has risen to that point, bake the bread in the preheated oven for 45 minutes. The loaf should have a dark brown crust and an internal temperature of about 190℉ when done.
Cool the Bread
Remove the pan from the oven and partially open the lid for 10 minutes to allow steam to escape. Then, remove the loaf from the pan and place it on a wire rack. Drape a towel over the loaf for 5 minutes to keep the crust soft. Allow the bread to cool completely before slicing.