System.out.println(elementStack + " " + qName + " " + matcherStack);
}
String disabled = getOptionalAttribute(attributes, "disabled");
nextMatchedIsDisabled = "true".equals(disabled);
if (qName.equals("Bug")) {
addMatcher(new BugMatcher(getOptionalAttribute(attributes, "code"), getOptionalAttribute(attributes, "pattern"),
getOptionalAttribute(attributes, "category")));
} else if (qName.equals("Class")) {
addMatcher(new ClassMatcher(getRequiredAttribute(attributes, "name", qName)));
} else if (qName.equals("FirstVersion")) {
addMatcher(new FirstVersionMatcher(getRequiredAttribute(attributes, "value", qName), getRequiredAttribute(attributes,
"relOp", qName)));
} else if (qName.equals("LastVersion")) {
addMatcher(new LastVersionMatcher(getRequiredAttribute(attributes, "value", qName), getRequiredAttribute(attributes,
"relOp", qName)));
} else if (qName.equals("Designation")) {
addMatcher(new DesignationMatcher(getRequiredAttribute(attributes, "designation", qName)));
} else if (qName.equals("BugCode")) {
addMatcher(new BugMatcher(getRequiredAttribute(attributes, "name", qName), "", ""));
} else if (qName.equals("Local")) {
addMatcher(new LocalMatcher(getRequiredAttribute(attributes, "name", qName)));
} else if (qName.equals("BugPattern")) {
addMatcher(new BugMatcher("", getRequiredAttribute(attributes, "name", qName), ""));
} else if (qName.equals("Priority")) {
addMatcher(new PriorityMatcher(getRequiredAttribute(attributes, "value", qName)));
} else if (qName.equals("Confidence")) {
addMatcher(new ConfidenceMatcher(getRequiredAttribute(attributes, "value", qName)));
} else if (qName.equals("Rank")) {