Source:
public IStatus analyze(IProgressMonitor monitor) { MultiStatus result = new MultiStatus(Activator.ID, IStatus.OK, null, null); SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 2); IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor(IIUAnalyzer.ID); for (IMetadataRepository repositorie : repositories) { IQueryResult<IInstallableUnit> queryResult = repositorie.query(QueryUtil.createIUAnyQuery(), sub); SubMonitor repositoryMonitor = SubMonitor.convert(sub, IProgressMonitor.UNKNOWN); for (IConfigurationElement config1 : config) { try { IIUAnalyzer verifier = (IIUAnalyzer) config1.createExecutableExtension("class"); String analyizerName = config1.getAttribute("name"); if (verifier instanceof IUAnalyzer) { ((IUAnalyzer) verifier).setName(analyizerName); } verifier.preAnalysis(repositorie); Iterator<IInstallableUnit> iter = queryResult.iterator(); while (iter.hasNext()) { IInstallableUnit iu = iter.next(); verifier.analyzeIU(iu); } IStatus postAnalysisResult = verifier.postAnalysis(); if (postAnalysisResult == null) postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName); if (postAnalysisResult.isOK() && !postAnalysisResult.isMultiStatus()) postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName); result.add(postAnalysisResult); } catch (CoreException e) { if (e.getCause() instanceof ClassNotFoundException) { result.add(new Status(IStatus.ERROR, Activator.ID, "Cannot find: " + config1.getAttribute("class"))); } else { e.printStackTrace(); } } } repositoryMonitor.done(); } sub.done(); return result; }

Target:
public IStatus analyze(IProgressMonitor monitor) { MultiStatus result = new MultiStatus(Activator.ID, IStatus.OK, null, null); SubMonitor sub = SubMonitor.convert(monitor, repositories.length * 2); IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor(IIUAnalyzer.ID); for (IMetadataRepository repository : repositories) { IQueryResult<IInstallableUnit> queryResult = repository.query(QueryUtil.createIUAnyQuery(), sub); SubMonitor repositoryMonitor = SubMonitor.convert(sub, IProgressMonitor.UNKNOWN); for (IConfigurationElement config1 : config) { try { IIUAnalyzer verifier = (IIUAnalyzer) config1.createExecutableExtension("class"); String analyizerName = config1.getAttribute("name"); if (verifier instanceof IUAnalyzer) { ((IUAnalyzer) verifier).setName(analyizerName); } verifier.preAnalysis(repository); Iterator<IInstallableUnit> iter = queryResult.iterator(); while (iter.hasNext()) { IInstallableUnit iu = iter.next(); verifier.analyzeIU(iu); } IStatus postAnalysisResult = verifier.postAnalysis(); if (postAnalysisResult == null) postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName); if (postAnalysisResult.isOK() && !postAnalysisResult.isMultiStatus()) postAnalysisResult = new Status(IStatus.OK, Activator.ID, analyizerName); result.add(postAnalysisResult); } catch (CoreException e) { if (e.getCause() instanceof ClassNotFoundException) { result.add(new Status(IStatus.ERROR, Activator.ID, "Cannot find: " + config1.getAttribute("class"))); } else { e.printStackTrace(); } } } repositoryMonitor.done(); } sub.done(); return result; }