IEditorPart editorPart = EditorUtility.openInEditor(sourceElement);
if (editorPart instanceof ITextEditor && lineNumber >= 0) {
ITextEditor textEditor = (ITextEditor) editorPart;
IDocumentProvider provider = textEditor.getDocumentProvider();
IEditorInput input = part.getEditorInput();
provider.connect(input);
IDocument document = provider.getDocument(input);
try {
IRegion line = document.getLineInformation(lineNumber);
textEditor.selectAndReveal(line.getOffset(), line.getLength());
} catch (BadLocationException e) {