Place a large stock pot over medium heat and add bacon. Cook until bacon is crisp and cooked through. Use a slotted spoon to remove bacon to a paper towel lined plate, leaving bacon dripping in pan. Set aside.You want about 1 tablespoon of drippings in the pot, if you do not have enough fat, add extra virgin olive oil to pan until you have about 1 tablespoon of liquid (just eyeball this).Increase heat to medium high. Add shallots, carrot, and celery to pot. Cook, stirring frequently until softened, about 3 minutes. Add garlic and crushed red pepper flakes, salt and pepper; cook until aromatic, 30 seconds - 1 minute.Add white wine to deglaze pan, scraping up brown bits from the bottom of the pan. Cook until wine is reduced to 2 tablespoon, about 3-4 minutesAdd the Chicken stock, beans with their liquid, rosemary sprigs, bay leaf and parmesan rind (if using).Increase heat to high and bring soup to a boil. Immediately reduce heat to a gentle simmer. Cover and allow to simmer for 15 minutes.Use tongs to remove rosemary sprigs, bay leaf and parmesan rind. Add in the bacon, half and half*, chopped rosemary leaves and grated parmesan. Taste and adjust for seasoning. *Use ½ Cup for a creamier, richer texture and tasteTo Finish:*Serve As Is*Use and Immersion blender to blend until desired consistency. I gently and carefully blended about ½ of the soup for a slightly creamy yet rustic soup.*Remove a couple ladlefuls of beans, puree remaining soup, add back in removed beans.*Remove, in batches, to a blender and puree until desired consistency.To serve: Ladle soup into bread bowls and garnish with grated parmesan cheese.