private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            var fileOrDir = tbConfigureAwaitFileOrDir.Text;

            if (fileOrDir.EndsWith(".cs"))
            {
                var file        = fileOrDir;
                var haveChanges = false;
                var cu          = TameCompilationUnitSyntax.FromFile(file);
                var items       = cu.DescendantsAll().OfType <TameAwaitExpressionSyntax>().ToArray();
                for (int i = 0; i < items.Length; i++)
                {
                    var item = items[i];
                    if (!item.Source.EndsWith(".ConfigureAwait(false)"))
                    {
                        item.ReplaceNode(item.Source + ".ConfigureAwait(false)");
                        haveChanges = true;
                    }
                }
                if (haveChanges)
                {
                    var newSource = cu.Source;
                    File.WriteAllText(file, newSource);
                }
                lbAwaits.ItemsSource = null;
                lbAwaits.ItemsSource = TameCompilationUnitSyntax.FromFile(fileOrDir).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.Source);
            }
            else
            {
                var awaitExpressions = new List <string>();
                foreach (var file in Directory.GetFiles(fileOrDir, "*.cs", SearchOption.AllDirectories))
                {
                    var haveChanges = false;
                    var cu          = TameCompilationUnitSyntax.FromFile(file);
                    var items       = cu.DescendantsAll().OfType <TameAwaitExpressionSyntax>().ToArray();
                    for (int i = 0; i < items.Length; i++)
                    {
                        var item = items[i];
                        if (!item.Source.EndsWith(".ConfigureAwait(false)"))
                        {
                            item.ReplaceNode(item.Source + ".ConfigureAwait(false)");
                            haveChanges = true;
                        }
                    }
                    if (haveChanges)
                    {
                        var newSource = cu.Source;
                        File.WriteAllText(file, newSource);
                        awaitExpressions.AddRange(TameCompilationUnitSyntax.FromFile(file).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource));
                    }
                }
                lbAwaits.ItemsSource = null;
                lbAwaits.ItemsSource = awaitExpressions;
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var fileOrDir = tbConfigureAwaitFileOrDir.Text;

            if (fileOrDir.EndsWith(".cs"))
            {
                lbAwaits.ItemsSource = null;
                lbAwaits.ItemsSource = TameCompilationUnitSyntax.FromFile(fileOrDir).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource);
            }
            else
            {
                var awaitExpressions = new List <string>();
                foreach (var file in Directory.GetFiles(fileOrDir, "*.cs", SearchOption.AllDirectories))
                {
                    awaitExpressions.AddRange(TameCompilationUnitSyntax.FromFile(file).DescendantsAll().OfType <TameAwaitExpressionSyntax>().Select(v => v.FormatedSource));
                }
                lbAwaits.ItemsSource = null;
                lbAwaits.ItemsSource = awaitExpressions;
            }
        }