We should make explicit how object identity is defined for types used in sets:
ConstraintViolation (returned by Validator#validate() etc.)
ConstraintDescriptor (returned by ConstraintDescriptor#getComposingConstraints() and in metadata API)
Types returned by BeanDescriptor#getConstrainedXy()
Last time we discussed I convinced you that identity equality was actually sufficient. Can I close that issue?
Yes, I think it's ok as is.