public void PerformReaction(IEnumerable <IGlassware> glasswareCollection) { qualityControl.CheckQuality(glasswareCollection); bool allItemsAreClean = maintainer.CheckIfAllItemsAreClean(glasswareCollection); if (!qualityControl.QualityControlFailed && allItemsAreClean) { qualityChanger.ChangeQuality(glasswareCollection); conditionChanger.ChangeCondition(glasswareCollection); System.Console.WriteLine("Reaction performed. You gain xxx money."); } else { System.Console.WriteLine("You can't perform reaction, some of Your items are broken or dirty!"); System.Console.WriteLine("Please, buy new ones and clean dirty ones, before attempting to perform a reaction"); } }