allAvailableList.add(factory); addBugsAbbreviation(factory);   factory.setEnabled(selectedFactoryList.contains(factory));
if (inCategory(factory, categories)){ allAvailableList.add(factory); addBugsAbbreviation(factory); }
	private void populateAvailableRulesTable(IProject project) {		List selectedFactoryList;		try {			selectedFactoryList = FindbugsPlugin.readDetectorFactories(project);		}		catch (CoreException e) {			FindbugsPlugin.getDefault().logException(e, "Could not populate detector table");			return;		}		List allAvailableList = new ArrayList();		factoriesToBugAbbrev = new HashMap();		Iterator iterator =			DetectorFactoryCollection.instance().factoryIterator();		while (iterator.hasNext()) {			DetectorFactory factory = (DetectorFactory) iterator.next();						// Only configure non-hidden factories			if (factory.isHidden()) {				System.out.println("Factory " + factory.getFullName() + " is hidden");				continue;			}						allAvailableList.add(factory);			addBugsAbbreviation(factory);			// XXX factory list from FindBugs is singleton - we share!!!			// same factories between multiple projects!!!			factory.setEnabled(selectedFactoryList.contains(factory));		}		availableFactoriesTableViewer.setInput(allAvailableList);		TableItem[] itemList =			availableFactoriesTableViewer.getTable().getItems();		for (int i = 0; i < itemList.length; i++) {			Object rule = itemList[i].getData();			//set enabled if defined in configuration			if (selectedFactoryList.contains(rule)) {				itemList[i].setChecked(true);			}		}	}