if (classNameRewriter == IdentityClassNameRewriter.instance()) throw new IllegalStateException();
	public int compare(BugInstance lhs, BugInstance rhs) {		if (classNameRewriter == IdentityClassNameRewriter.instance())			throw new IllegalStateException();				int cmp;				// Bug abbrevs must match		BugPattern lhsPattern = lhs.getBugPattern();		BugPattern rhsPattern = rhs.getBugPattern();		String lhsAbbrev, rhsAbbrev;		if (lhsPattern == null || rhsPattern == null) {			lhsAbbrev = getAbbrevFromBugType(lhs.getType());			rhsAbbrev = getAbbrevFromBugType(rhs.getType());		} else {			lhsAbbrev = lhsPattern.getAbbrev();			rhsAbbrev = rhsPattern.getAbbrev();		}		cmp = lhsAbbrev.compareTo(rhsAbbrev);		if (cmp != 0) {			if (DEBUG) System.err.println("bug abbrevs do not match");			return cmp;		}				// Primary class must match		cmp = compareClassesAllowingNull(lhs.getPrimaryClass(), rhs.getPrimaryClass());		if (cmp != 0)			return cmp;				// Primary method must match (if any)		cmp = compareMethodsAllowingNull(lhs.getPrimaryMethod(), rhs.getPrimaryMethod());		if (cmp != 0) {			if (DEBUG) System.err.println("primary methods do not match");			return cmp;		}				// Primary field must match (if any)		cmp = compareFieldsAllowingNull(lhs.getPrimaryField(), rhs.getPrimaryField());		if (cmp != 0) {			if (DEBUG) System.err.println("primary fields do not match");			return cmp;		}				// Assume they're the same		return 0;	}