protected Map < String , List < String > > getEffectiveAnnotationMap ( Map < String , List < String > > inheritedAnnotationMap , Map < String , List < String > > immediateAnnotationMap ) { //resolve effective annotations Map < String , List < String > > effectiveAnnotationMap = new HashMap < String , List < String > > ( ) ; //take all inherited annotation effectiveAnnotationMap . putAll ( inheritedAnnotationMap ) ; //add or override with annotations from the immediate entity effectiveAnnotationMap . putAll ( immediateAnnotationMap ) ; return effectiveAnnotationMap ; }
Resolves the effective set of annotation by combining the inherited annotations with the immediate annotations associated with the statement or statement group . If an annotation existing in both the inherited map and the immediate map the immediate annotation overrides the inherited .