}
@Override
public Object execute(final ExecutionEvent event) throws ExecutionException {
final ITextEditor textEditor = (ITextEditor) HandlerUtil.getActiveEditor(event);
if (!validateEditorInputState(textEditor)) {
return null;
}
final ISelection sel = textEditor.getSelectionProvider().getSelection();
if (sel == null || sel.isEmpty() || !(sel instanceof ITextSelection)) {
return null;
}
ErlideEventTracer.getInstance().traceOperationStart(this);
try {
final IRunnableWithProgress myRunnableWithProgress = new IRunnableWithProgress() {
@Override
public void run(final IProgressMonitor monitor0) {
final IProgressMonitor monitor = monitor0 != null ? monitor0
: new NullProgressMonitor();
try {
monitor.beginTask("Processing "
+ textEditor.getEditorInput().getName(),
IProgressMonitor.UNKNOWN);
doAction(sel, textEditor);
} finally {
monitor.done();
}