In a large bowl, combine the warm water, yeast, and honey (or sugar). Stir gently and let sit for 5–10 minutes, until foamy.
Add the olive oil, egg, salt, and Italian seasoning. Stir to combine.
Gradually add the flour, starting with 3 cups, mixing until a soft dough forms. Add additional flour as needed until the dough is slightly tacky but not sticky.
Turn the dough out onto a lightly floured surface and knead for 6–8 minutes, until smooth and elastic.
Place the dough in a lightly oiled bowl, cover, and let rise in a warm place for about 1 hour, or until doubled in size.
Punch down the dough and divide it into 4 equal pieces.
Shape each piece into a loaf and place on a greased baking sheet or in loaf pans.
Cover loosely and let the loaves rise again for 15 minutes.
Lightly brush or spread olive oil over the tops of the loaves, then sprinkle generously with shredded cheddar cheese, Parmesan cheese, and additional Italian seasoning if desired.
Bake at 375°F for 15 minutes, or until golden brown and cooked through.
Remove from the oven and allow to cool slightly before serving.