docs: @Override
      public final void run(final IAction action) {
          if (targetPart == null) {
              return;
          }
          try {
              if (!selection.isEmpty() && (selection instanceof IStructuredSelection)) {
                  IStructuredSelection ssel = (IStructuredSelection) selection;
                  Object element = ssel.getFirstElement();
                  if (element instanceof BugGroup) {
                      final BugGroup group = (BugGroup) element;
                      if (group.getType() == GroupType.Project) {
                          PropertyDialogAction paction = new PropertyDialogAction(new IShellProvider() {
                              @Override
                              public Shell getShell() {
                                  return null;
                              }
                          }, new ISelectionProvider() {
                              @Override
                              public void addSelectionChangedListener(ISelectionChangedListener listener) {
                                  // noop
                              }
  
                              @Override
                              public ISelection getSelection() {
                                  return new StructuredSelection(group.getData());
                              }
  
                              @Override
                              public void removeSelectionChangedListener(ISelectionChangedListener listener) {
                                  // noop
                              }
  
                              @Override
                              public void setSelection(ISelection selection) {
                                  // noop
                              }
                          });
                          paction.run();
                          return;
                      }
                  }
                  targetPart.getSite().getPage().showView(IPageLayout.ID_PROP_SHEET);
              }
          } catch (CoreException e) {
              FindbugsPlugin.getDefault().logException(e, "Exception while parsing content of SpotBugs markers.");
          } finally {
              targetPart = null;
          }
      }