void Answer(string will, StringLiteralManager manager, IParseTree tree)
            {
                var statement = tree.CloseSt <JsParser.StatementContext>();
                var message   = factoryMessage
                                .CreateMessage($"Заменить {manager.Value}? \r\n{statement.GetText()}")
                                .AddAction(
                    External.Models.AnswerType.Ok,
                    () => {
                    manager.Value = will;
                })
                                .GetMessage();

                valueProvider.GetOutputMessages().Add(message);
            }
        public void ToEdit(IValueProvider valueProvider)
        {
            var jsFile = valueProvider.GetFiles(Entities.FileType.Js)
                         .Where(i => !isInternal ^ i.IsInternal);

            var remover  = new Js.Visitors.JsEofTokenRemover();
            var wsEditor = new Js.Visitors.JsWsSymbolsEditor();

            foreach (var item in jsFile)
            {
                var jso    = new JsOptimizerFacade();
                var result = jso.ToOptimize(item.FileName, item.Tree.GetStream(), valueProvider.GetOutputMessages());
                if (result != null)
                {
                    item.Tree = new JsParser().ToParse(result);
                    remover.Remove(item.Tree);
                    wsEditor.Edit(item.Tree);
                }
            }
        }