public void run() {
this.tree = mainWindow.getProblemBrowserTree().getTreeViewer();
IStructuredSelection selection = (IStructuredSelection) tree.getSelection();
Problem parent = null;
Model model = null;
for (Iterator iterator = selection.iterator(); iterator.hasNext();) {
if (selection.isEmpty()) return;
model = (Model) iterator.next();
parent = (Problem)model.getParent();
if (model instanceof ResourceAllocation) {
tree.remove(model);
parent.removeRAProblem((ResourceAllocation)model);
model.kill();
tree.setInput(parent.getParent());
mainWindow.getRAPerspective().clearSourceTables(model.getName());
mainWindow.getRAPerspective().clearSolutionTables(model.getName());
mainWindow.getProblemBrowserTree().getTreeViewer().expandAll();
}