Hmm.  I think this is a great idea, but getDisplaySubject() will return the string if the label isn't set.  I think failComparing() should take empty string if label is unset, or the label directly, rather than via getDisplaySubject().