public void run() {
if (isEnabled()) {
try {
if (selectedElement2 != null) {
final IEditorPart part = EditorUtility.openInEditor(selectedElement,
true);
EditorUtility.revealInEditor(part, selectedElement);
}
if (selectedElement != null) {
if (selectedElement instanceof IErlExternal) {
final StructuredViewer structuredViewer = site
.getStructuredViewer();
if (structuredViewer instanceof AbstractTreeViewer) {
final AbstractTreeViewer treeViewer = (AbstractTreeViewer) structuredViewer;
final boolean expanded = treeViewer
.getExpandedState(selectedElement);
treeViewer.setExpandedState(selectedElement, !expanded);
}
} else {
final IEditorPart part = EditorUtility.openInEditor(
selectedElement, true);
EditorUtility.revealInEditor(part, selectedElement);
}
} else if (!selectedClosedProjects.isEmpty()) {
openResourceAction.selectionChanged((IStructuredSelection) provider