Preheat the oven to 350 degrees. Butter and flour a 10-inch bundt (or tube) pan.
Toss the blueberries in one tablespoon of flour; set aside.
Cream the butter and sugar together in the bowl of a stand mixer or in a large bowl with a handheld mixer for 4 to 5 minutes, until pale yellow. Add the eggs one at a time, beating between each addition, then add the sour cream, vanilla, and lemon zest.
In a separate bowl sift together the remaining flour, cornstarch, baking powder, baking soda, and salt until combined. With the mixer on low, add the flour mixture gradually to the batter until just combined. Stir in the flour-coated blueberries gently with a spatula, scraping the sides to incorporate all the batter.
For the streusel, place the brown sugar, flour, cinnamon, salt, and butter in a bowl and pinch together with your fingers until it forms a crumble. Mix in the walnuts, if desired.
Evenly sprinkle about 3/4 cup streusel mixture over the bottom of the pan. Spoon half the batter into the pan over the streusel; smooth with a spatula. Sprinkle another 3/4 cup of streusel over the batter. Spoon the remaining batter into the pan, spreading it out with a spatula. (You may have leftover streusel–I did. Just put it in an airtight plastic container and keep in the refrigerator for future baking projects! It keeps for a week to 10 days.)
Bake for 60 to 70 minutes or until a cake tester comes out clean.
Let cool in the pan on a wire rack for at least 30 minutes. Using a long thin spatula, carefully remove the cake from the pan and place streusel-side up on a serving platter. Just be careful not to trip and drop the cake on the table, like I did. It will make quite a mess, but will still taste just as good