Source:
<code>protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { PluginModelManager manager = PDECore.getDefault().getModelManager(); IPluginModelBase[] models = manager.getActiveModels(true); FeatureModelManager fManager = PDECore.getDefault().getFeatureModelManager(); IFeatureModel[] fModels = fManager.getModels(); SubMonitor subMonitor = SubMonitor.convert(progressMonitor, PDEUIMessages.FilteredPluginArtifactsSelectionDialog_searching, models.length + fModels.length); for (int i = 0; i < fModels.length; i++) { contentProvider.add(fModels[i], itemsFilter); subMonitor.worked(1); } for (int i = 0; i < models.length; i++) { IPluginModelBase model = models[i]; IPluginExtensionPoint[] eps = model.getPluginBase().getExtensionPoints(); IPluginExtension[] extensions = model.getPluginBase().getExtensions(); int length = eps.length + extensions.length; <START> IProgressMonitor subMonitor2 = subMonitor.newChild(length); <END> for (int j = 0; j < eps.length; j++) { contentProvider.add(eps[j], itemsFilter); subMonitor2.worked(1); } for (int j = 0; j < extensions.length; j++) { contentProvider.add(extensions[j], itemsFilter); subMonitor2.worked(1); } BundleDescription desc = model.getBundleDescription(); if (desc != null) { ExportPackageDescription[] epds = desc.getExportPackages(); subMonitor2 = subMonitor.newChild(epds.length); for (int j = 0; j < epds.length; j++) { ExportPackageDescription epd = epds[j]; int ee = ((Integer) epd.getDirective("x-equinox-ee")).intValue(); if (ee < 0) contentProvider.add(epd, itemsFilter); subMonitor2.worked(1); } subMonitor2.done(); } contentProvider.add(models[i], itemsFilter); subMonitor2.worked(1); } }</code><technical_language>Consider changing type SubMonitor</technical_language>

Target:
protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { PluginModelManager manager = PDECore.getDefault().getModelManager(); IPluginModelBase[] models = manager.getActiveModels(true); FeatureModelManager fManager = PDECore.getDefault().getFeatureModelManager(); IFeatureModel[] fModels = fManager.getModels(); SubMonitor subMonitor = SubMonitor.convert(progressMonitor, PDEUIMessages.FilteredPluginArtifactsSelectionDialog_searching, models.length * 2 + fModels.length); for (int i = 0; i < fModels.length; i++) { contentProvider.add(fModels[i], itemsFilter); subMonitor.worked(1); } for (int i = 0; i < models.length; i++) { IPluginModelBase model = models[i]; IPluginExtensionPoint[] eps = model.getPluginBase().getExtensionPoints(); IPluginExtension[] extensions = model.getPluginBase().getExtensions(); int length = eps.length + extensions.length; SubMonitor subMonitor2 = subMonitor.newChild(1).setWorkRemaining(length); for (int j = 0; j < eps.length; j++) { contentProvider.add(eps[j], itemsFilter); subMonitor2.worked(1); } for (int j = 0; j < extensions.length; j++) { contentProvider.add(extensions[j], itemsFilter); subMonitor2.worked(1); } subMonitor2 = subMonitor.newChild(1); BundleDescription desc = model.getBundleDescription(); if (desc != null) { ExportPackageDescription[] epds = desc.getExportPackages(); subMonitor2.setWorkRemaining(epds.length); for (int j = 0; j < epds.length; j++) { ExportPackageDescription epd = epds[j]; int ee = ((Integer) epd.getDirective("x-equinox-ee")).intValue(); if (ee < 0) { contentProvider.add(epd, itemsFilter); } subMonitor2.worked(1); } } contentProvider.add(models[i], itemsFilter); } }