Inner classes can divert from those rules, but should never be exported to outside the containing compilation unit. Declare all inner classes as package-private, i.e. no visibility modifier. If declared private, Java needs to generate synthetic accessor methods.
To find out what's wrong with a text annotation (it's created, but nothing can be seen in the text viewer), set a break point on
getDecoration(Annotation annotation, Decoration decoration). It can be found around line 826 in 3.6.2.