public FindReplaceTextEditorTool(TextEditor textEditor, ICsvTextEditorService csvTextEditorService,
                                         IUIVisualizerService uiVisualizerService, ITypeFactory typeFactory)
            : base(textEditor, csvTextEditorService)
        {
            Argument.IsNotNull(() => uiVisualizerService);
            Argument.IsNotNull(() => typeFactory);

            _uiVisualizerService = uiVisualizerService;

            _findReplaceSerivce = typeFactory.CreateInstanceWithParametersAndAutoCompletion <FindReplaceService>(TextEditor);
        }
        public FindReplaceViewModel(IFindReplaceSerivce csvTextEditorFindReplaceSerivce, ICsvTextEditorService csvTextEditorService)
        {
            Argument.IsNotNull(() => csvTextEditorFindReplaceSerivce);
            Argument.IsNotNull(() => csvTextEditorService);

            _csvTextEditorFindReplaceSerivce = csvTextEditorFindReplaceSerivce;
            _csvTextEditorService            = csvTextEditorService;

            FindNext   = new Command <string>(OnFindNext);
            Replace    = new Command <object>(OnReplace);
            ReplaceAll = new Command <object>(OnReplaceAll);

            FindReplaceSettings = new FindReplaceSettings();
        }