checkNotNull(matchDisplayer, "matchDisplayer");
this.treeMapper = treeMapper;
this.matchDisplayer = matchDisplayer;
target = new MappingSearchAndReplaceTarget(treeMapper, translator);
TextSearchModel model = new TextSearchModel(); // TODO: Use a shared model
controller = new TextSearchController(model);
controller.addObserver(new SearchListener());
controller.setTarget(target);
searchParametersUi = TextSearchUi.searchAndReplace(model);
searchParametersUi.setDefaultAction(controller.getFindAction());
statusPanel = new StatusPanel();