/** {@inheritDoc} */
 public void dispose() {
   if (fActions != null) {
     final ISelectionProvider provider = fSite.getSelectionProvider();
     for (Iterator iter = fActions.iterator(); iter.hasNext(); ) {
       Action action = (Action) iter.next();
       if (action instanceof ISelectionChangedListener)
         provider.removeSelectionChangedListener((ISelectionChangedListener) action);
     }
   }
   fActions = null;
   super.dispose();
 }
  /** Refreshes the local resources that are selected in the view. */
  private void refreshLocal() {
    final ISelectionProvider selectionProvider = fView.getSite().getSelectionProvider();
    if (selectionProvider == null) return;

    ISelection selection = selectionProvider.getSelection();
    if (!(selection instanceof IStructuredSelection)) return;

    RefreshAction refreshAction = new RefreshAction(fView.getSite());
    if (selection.isEmpty()) refreshAction.refreshAll();
    else {
      refreshAction.selectionChanged((IStructuredSelection) selection);
      refreshAction.run();
    }
  }
  private GenerateIncludePathActionGroup(IWorkbenchSite site) {
    fSite = site;
    fActions = new ArrayList();

    final RemoveFromIncludepathAction remove = new RemoveFromIncludepathAction(site);
    fActions.add(remove);

    final ConfigurePHPIncludePathAction configure = new ConfigurePHPIncludePathAction(site);
    fActions.add(configure);

    final ISelectionProvider provider = fSite.getSelectionProvider();
    for (Iterator iter = fActions.iterator(); iter.hasNext(); ) {
      Action action = (Action) iter.next();
      if (action instanceof ISelectionChangedListener) {
        provider.addSelectionChangedListener((ISelectionChangedListener) action);
      }
    }
  }