if (!getEditor().isDirty()) {
IStructuredSelection selection = (IStructuredSelection) tasksListViewer.getSelection();
AbstractTask task = (AbstractTask) selection.getFirstElement();
if (task.canExecute()) {
try {
task.execute();
tasksListSectionPart.markStale();
tasksListSectionPart.markDirty();
} catch (TaskException e1) {
ErrorDialog.openError(PlatformUI.getWorkbench().getDisplay().getActiveShell(),
"Task Execution", "Task execution failed", new Status(IStatus.ERROR, "q_impress", e1.getMessage(), e1));