code: 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;
      }
docs: 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.
  
  @param inheritedAnnotationMap
  @param immediateAnnotationMap
  @return