*/
@Override
protected IStatus run(IProgressMonitor monitor)
{
final SearchInput searchInput = searchResult.getInput();
final WorkbenchCorePlugin core = WorkbenchCorePlugin.getDefault();
final ProcessingComponentDescriptor source = core.getComponent(searchInput.getSourceId());
final ProcessingComponentDescriptor algorithm = core.getComponent(searchInput.getAlgorithmId());
IStatus status;
monitor.beginTask("Processing: "
+ source.getLabel() + " -> " + algorithm.getLabel(), IProgressMonitor.UNKNOWN);
try
{
final Map<String, Object> attributes =
searchInput.getAttributeValueSet().getAttributeValues();
final Controller controller = core.getController();
final ProcessingResult result = controller.process(
attributes, source.getId(), algorithm.getId());
PlatformUI.getWorkbench().getDisplay().syncExec(