protected void onRun(IAction action) throws Exception {
    IEditorPart editor = getActiveEditor();

    if (editor != null) {
      IEditorInput input = editor.getEditorInput();

      Object resource = input.getAdapter(IJavaElement.class);

      if (resource == null) {
        resource = input.getAdapter(IFile.class);
      }

      if (resource != null) {
        PackageExplorerPart.openInActivePerspective().selectAndReveal(resource);
      }
    }
  }