public void dispose() {
   super.dispose();
   FeatureModelManager mng = PDECore.getDefault().getFeatureModelManager();
   mng.removeFeatureModelListener(this);
   fModel.removeModelChangedListener(this);
   if (fSiteLabelProvider != null) fSiteLabelProvider.dispose();
 }
 /**
  * Finds a feature with the same id and version as a site feature. If feature is not found, but
  * feature with a M.m.s.qualifier exists it will be returned.
  *
  * @param siteFeature
  * @return IFeature or null
  */
 public static IFeature findFeature(ISiteFeature siteFeature) {
   IFeatureModel model =
       PDECore.getDefault()
           .getFeatureModelManager()
           .findFeatureModelRelaxed(siteFeature.getId(), siteFeature.getVersion());
   if (model != null) return model.getFeature();
   return null;
 }
 public void initialize() {
   refresh();
   FeatureModelManager mng = PDECore.getDefault().getFeatureModelManager();
   mng.addFeatureModelListener(this);
 }