I don't think that the annotation @ContainedBy reflects the fact that the main purpose of the annotation is to modify the cardinality for the user. That some compiler magic moves it to a container annotation is for the library users irrelevant. Roel