for (Iterator<Plugin> i = getDetectorFactoryCollection().pluginIterator(); i.hasNext(); ) {
for (Iterator<Plugin> i = DetectorFactoryCollection.instance().pluginIterator(); i.hasNext(); ) {
	protected void handleOption(String option, String optionExtraPart) {		if (option.equals("-showPlugins")) {			System.out.println("Available plugins:");			int count = 0;			for (Iterator<Plugin> i = getDetectorFactoryCollection().pluginIterator(); i.hasNext(); ) {				Plugin plugin = i.next();				System.out.println("  " + plugin.getPluginId() + " (default: " +						(plugin.isEnabled() ? "enabled" : "disabled") + ")");				if (plugin.getShortDescription() != null)					System.out.println("    Description: " + plugin.getShortDescription());				if (plugin.getProvider() != null)					System.out.println("    Provider: " + plugin.getProvider());				if (plugin.getWebsite() != null)					System.out.println("    Website: " + plugin.getWebsite());				++count;			}			if (count == 0) {				System.out.println("  No plugins are available (FindBugs installed incorrectly?)");			}			System.exit(0);		} else if (option.equals("-experimental"))			priorityThreshold = Detector.EXP_PRIORITY;		else if (option.equals("-longBugCodes"))			useLongBugCodes = true;		else if (option.equals("-timestampNow"))			project.setTimestamp(System.currentTimeMillis());		else if (option.equals("-low"))			priorityThreshold = Detector.LOW_PRIORITY;		else if (option.equals("-medium"))			priorityThreshold = Detector.NORMAL_PRIORITY;		else if (option.equals("-high"))			priorityThreshold = Detector.HIGH_PRIORITY;		else if (option.equals("-sortByClass"))			bugReporterType = SORTING_REPORTER;		else if (option.equals("-xml")) {			bugReporterType = XML_REPORTER;			if (!optionExtraPart.equals("")) {				if (optionExtraPart.equals("withMessages"))					xmlWithMessages = true;				else					throw new IllegalArgumentException("Unknown option: -xml:" + optionExtraPart);			}		} else if (option.equals("-emacs")) {			bugReporterType = EMACS_REPORTER;		} else if (option.equals("-relaxed")) {			relaxedReportingMode = true;		} else if (option.equals("-train")) {			trainingOutputDir = !optionExtraPart.equals("") ? optionExtraPart : ".";		} else if (option.equals("-useTraining")) {			trainingInputDir = !optionExtraPart.equals("") ? optionExtraPart : ".";		} else if (option.equals("-html")) {			bugReporterType = HTML_REPORTER;			if (!optionExtraPart.equals("")) {				stylesheet = optionExtraPart;			} else {				stylesheet = "default.xsl";			}		} else if (option.equals("-xdocs")) {			bugReporterType = XDOCS_REPORTER;		} else if (option.equals("-quiet")) {			quiet = true;		} else if (option.equals("-nested")) {			scanNestedArchives =				optionExtraPart.equals("") || Boolean.valueOf(optionExtraPart).booleanValue();		} else if (option.equals("-exitcode")) {			setExitCode = true;		} else if (option.equals("-xargs"))			xargs = true;		else {			super.handleOption(option, optionExtraPart);		}	}