@Override protected ITextEditor run() throws Exception { IWorkbenchWindow activeWorkbenchWindow = workbench.getActiveWorkbenchWindow(); IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage(); IEditorPart editor = activePage.findEditor(fileEditorInput); if (editor instanceof ITextEditor) { if (editor instanceof ITextEditorExtension && ((ITextEditorExtension) editor).isEditorInputReadOnly()) status.add(ERROR, "Editor for {0} is read only", fileEditorInput.getName()); return ((ITextEditor) editor); } return null; } }.syncExec();