public void open() { if (fModel == null) { return; } try { IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (activeWorkbenchWindow == null) { return; } IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage(); if (activePage == null) { return; } String symbolName = getName(); TmaInput root = fModel.getAst().getRoot(); ITmaNode resolved = searchInRoot(root, symbolName); if (resolved == null) { return; } if (resolved.getSource() == fModel.getAst().getSource()) { openLocal(activePage, fModel, resolved); } else { // TODO // activePage.getNavigationHistory().markLocation(activePage.getActiveEditor()); // if (open(activePage, fModel, resolved)) { // activePage.getNavigationHistory().markLocation(activePage.getActiveEditor()); // } } } catch (PartInitException e) { // ignored } }