These questions have come up before, and in the past we've looked at the Common Annotations for the Java Platform specification (aka JSR 250) for guidance. The rules being proposed here appear to be in opposition to one of those guidelines:
(page 2-6) 4. Members inherited from a superclass and which are not hidden or overridden maintain the annotations they had in the class that declared them, including member-level annotations implied by class-level ones. This guideline makes a lot of sense to me and in my opinion it would be a mistake to do something different. Can we go back to the original problem? What code is deciding that an unannotated field in a superclass is a property? I don't see the code that would do that. Greg
