Sorry maybe I didn't get what you meant exactly ?

The hash code is computed once & cached. This cached value is no more valid once either the type or the annotations change. That's why I've made those RO - before it was possible to update the type & annotations leading to a bad hashCode (if it was cached before the change).