public void Execute(ISolution solution, ITextControl textControl) { if (!_literalExpression.IsValid()) { return; } var containingFile = _literalExpression.GetContainingFile(); var psiModule = _literalExpression.GetPsiModule(); var elementFactory = CSharpElementFactory.GetInstance(psiModule); IExpression newExpression = null; _literalExpression.GetPsiServices().Transactions.Execute(GetType().Name, () => { using (solution.GetComponent <IShellLocks>().UsingWriteLock()) newExpression = ModificationUtil.ReplaceChild( _literalExpression.Task, elementFactory.CreateExpression("$0.ConfigureAwait($1)", _literalExpression.Task, elementFactory.CreateExpressionByConstantValue(CSharpConstantValueFactory.CreateBoolValue(_value, psiModule)))); }); if (newExpression != null) { IRangeMarker marker = newExpression.GetDocumentRange().CreateRangeMarker(solution.GetComponent <DocumentManager>()); containingFile.OptimizeImportsAndRefs(marker, false, true, NullProgressIndicator.Instance); } }