Remove Multi-instance feature from the annotations
Current status
Annotations have a so-called multi-instance feature that allows to “store” multiple attributes within a single annotation and make them accessible by string-based keys. For these types of annotations, both the annotation type and the key string must be known, such that the correct attributes can be retrieved per model element.
Problem description
The multi-instance feature renders the generic handling of these annotations very complex since there exists not unique key to identify single attributes. Hence, container elements are mostly required to make them uniquely identifiable. Complicating this handling is that these “containers” are not foreseen in the annotation service an hence, the information about the instance keys may not be available directly (depending on the use case), which complicates the use of annotation. In summary, this feature adds much complexity.
Proposed solution
Remove the multi-instance feature and use separate annotations instead.
Current multi-instance annotations would need to be transformed, but
this affects only the memory requirement.
Since this annotation is the only annotation in AF3 using this feature,
the additional effort to maintain this feature is not worth the benefit
of saving one class.
(from redmine: issue id 2964, created on 2017-05-19, closed on 2018-02-05)