if ((raProblem.isStarted()) && (!raProblem.isFailed()) && (!raProblem.isSolved())) {
raProblem.getSolverThread().stopSolving();
SolutionMonitorThread.monitors.get(raProblem.getName()).stopMonitoring(); // FIX: started problem fails to stop
}
raProblem.clear();
perspective.clearSolutionTables(raProblem.getName());
perspective.clearText();
perspective.setSummaryText(raProblem.getSummary());
perspective.getAlgSelector().select(raProblem.getAlgorithmIndex(raProblem.getAlgorithm()));