In a large skillet, cook bacon until crisp. Remove bacon from pan and place on a paper towel. Do not discard the bacon drippings. You should have about 2 tbs in the pan from the cooked bacon.
Brown chicken well on both sides over medium heat in the same pan in which you cooked the bacon. Remove from pan and set aside.
In the same pan, brown the onions and mushrooms (if you use canned, drain first).
Deglaze the pan with the chicken stock.
Add the chicken back to the pan, cover and reduce heat. Cook for 15-20 minutes or until chicken is cooked through.
Remove the chicken from the pan and keep warm while making the sauce.
Add the cream and increase the heat to medium and reduce liquid 25%--this should take about 5-8 minutes. If you want a thicker sauce, mix the flour and water and add to the pan, stirring until liquid is thickened. Add any salt and pepper at this point.
Place the chicken back in the pan and place a slice of swiss cheese over each piece of chicken.
Fold the cheese slices if they are too long.
Cover and cook over low heat until cheese melts--about 5 minutes.
Crumble bacon over each chicken breast.