PsiAnnotation[] (boolean merge) { PsiAnnotation[] annotations = super.getAnnotations(); if (merge) { PsiJavaCodeReferenceElement reference = myReference.retrieveReference(); if (reference != null && reference.isValid() && reference.isQualified()) { PsiAnnotation[] embedded = collectAnnotations(reference); if (annotations.length > 0 && embedded.length > 0) { LinkedHashSet<PsiAnnotation> set = new LinkedHashSet<>(); ContainerUtil.addAll(set, annotations); ContainerUtil.addAll(set, embedded); annotations = set.toArray(PsiAnnotation.EMPTY_ARRAY); } else { annotations = ArrayUtil.mergeArrays(annotations, embedded); } } } return annotations; }