public async Task RunAsync() { var savedHighlights = _tree.HighlightedNodes; var settings = CreateSettings(); var solver = Tabs[_selectedTabIndex].CreateSolver(settings); var controllerResult = await _dialogCoordinator .ShowControllerDialogAsync(this, solver, Tabs[_selectedTabIndex].DisplayName, _tree); if (controllerResult != null) { _tree.SkilledNodes = new HashSet <ushort>(controllerResult); } _tree.HighlightedNodes = savedHighlights; _tree.DrawTreeComparisonHighlight(); _tree.DrawHighlights(); _tree.UpdateAvailNodes(); RunFinished.Raise(this); }