i would also flush on failure. maybe i managed to handle 4 of 5 items - i would still need those to be invalidated. i think its really save here to err on the side of too much invalidation. the same holds for the on terminate, by the way. (there we might even want to wrap the whole annotation handling into a try-catch so we still flush invalidations that came from elsewhere if something with the annotations went wrong.