if (category != null && !bug.getBugPattern().getCategory().equals(category))
if (categoryKey != null && !bug.getBugPattern().getCategory().equals(categoryKey))
				boolean evaluate(BugInstance bug) {			if (includeFilter != null && !includeFilter.match(bug)) return false;			if (excludeFilter != null && excludeFilter.match(bug)) return false;			if (annotation != null && bug.getAnnotationText().indexOf(annotation) == -1)				return false;			if (bug.getPriority() > priority)				return false;			if (firstAsString != null && bug.getFirstVersion() != first)				return false;			if (afterAsString != null && bug.getFirstVersion() <= after)				return false;			if (beforeAsString != null && bug.getFirstVersion() >= before)				return false;			if ((lastAsString != null || fixedAsString != null) && (last < 0 || bug.getLastVersion() != last))				return false;			if (presentAsString != null && !bugLiveAt(bug, present))				return false;			if (absentAsString != null && bugLiveAt(bug, absent))				return false;						if (activeSpecified && active != (bug.getLastVersion() == -1))				return false;			if (removedByChangeSpecified					&& bug.isRemovedByChangeOfPersistingClass() != removedByChange)				return false;			if (introducedByChangeSpecified					&& bug.isIntroducedByChangeOfExistingClass() != introducedByChange)				return false;			if (newCodeSpecified && newCode != (!bug.isIntroducedByChangeOfExistingClass() && bug.getFirstVersion() != 0))				return false;			if (removedCodeSpecified && removedCode != (!bug.isRemovedByChangeOfPersistingClass() && bug.getLastVersion() != -1))				return false;			if (bugPattern != null && !bugPattern.matcher(bug.getType()).find())					return false;			if (className != null && !className.matcher(bug.getPrimaryClass().getClassName()).find())					return false;			if (category != null && !bug.getBugPattern().getCategory().equals(category))				return false;			if (designationKey != null && !designationKey.equals(bug.getUserDesignationKey()))				return false;						if (withSourceSpecified) {				if (sourceSearcher.findSource(bug.getPrimarySourceLineAnnotation()) != withSource) 					return false;			}			if (classifiedSpecified && classified != isClassified(bug)) {				return false;			}			if (seriousSpecified) {				Set<String> words = bug.getTextAnnotationWords();				boolean thisOneIsSerious = words.contains("BUG")				&& !(words.contains("NOT_BUG") || words.contains("HARMLESS"));				if (serious != thisOneIsSerious) return false;			}			return true;		}