} else if (option.equals("-html")) { bugReporterType = HTML_REPORTER; stylesheet = argument;
		protected void handleOptionWithArgument(String option, String argument) throws IOException {			if (option.equals("-home")) {				FindBugs.setHome(argument);			} else if (option.equals("-pluginList")) {				String pluginListStr = argument;				ArrayList<File> pluginList = new ArrayList<File>();				StringTokenizer tok = new StringTokenizer(pluginListStr, File.pathSeparator);				while (tok.hasMoreTokens()) {					pluginList.add(new File(tok.nextToken()));				}				DetectorFactoryCollection.setPluginList((File[]) pluginList.toArray(new File[pluginList.size()]));			} else if (option.equals("-html")) {				bugReporterType = HTML_REPORTER;				stylesheet = argument;			} else if (option.equals("-outputFile")) {				String outputFile = argument;				try {					outputStream = new PrintStream(new BufferedOutputStream(new FileOutputStream(outputFile)));				} catch (IOException e) {					System.err.println("Couldn't open " + outputFile + " for output: " + e.toString());					System.exit(1);				}			} else if (option.equals("-visitors") || option.equals("-omitVisitors")) {				boolean omit = option.equals("-omitVisitors");				if (!omit) {					// Selecting detectors explicitly, so start out by					// disabling all of them.  The selected ones will					// be re-enabled.					DetectorFactoryCollection.instance().disableAll();				}				// Explicitly enable or disable the selected detectors.				StringTokenizer tok = new StringTokenizer(argument, ",");				while (tok.hasMoreTokens()) {					String visitorName = tok.nextToken();					DetectorFactory factory = DetectorFactoryCollection.instance().getFactory(visitorName);					if (factory == null)						throw new IllegalArgumentException("Unknown detector: " + visitorName);					factory.setEnabled(!omit);				}			} else if (option.equals("-bugCategories")) {				this.bugCategorySet = handleBugCategories(argument);			} else if (option.equals("-onlyAnalyze")) {				// The argument is a comma-separated list of classes and packages				// to select to analyze.  (If a list item ends with ".*",				// it specifies a package, otherwise it's a class.)				StringTokenizer tok = new StringTokenizer(argument, ",");				while (tok.hasMoreTokens()) {					String item = tok.nextToken();					if (item.endsWith(".*"))						classScreener.addAllowedPackage(item.substring(0, item.length() - ".*".length()));					else						classScreener.addAllowedClass(item);				}			} else if (option.equals("-exclude") || option.equals("-include")) {				filterFile = argument;				include = option.equals("-include");			} else if (option.equals("-auxclasspath")) {				StringTokenizer tok = new StringTokenizer(argument, File.pathSeparator);				while (tok.hasMoreTokens())					project.addAuxClasspathEntry(tok.nextToken());			} else if (option.equals("-sourcepath")) {				StringTokenizer tok = new StringTokenizer(argument, File.pathSeparator);				while (tok.hasMoreTokens())					project.addSourceDir(new File(tok.nextToken()).getAbsolutePath());			} else if (option.equals("-project")) {				String projectFile = argument;				// Convert project file to be an absolute path				projectFile = new File(projectFile).getAbsolutePath();				try {					project = new Project();					project.read(projectFile);				} catch (IOException e) {					System.err.println("Error opening " + projectFile);					e.printStackTrace(System.err);					throw e;				}			}		}