question: utility method to obtain annotations of a specific type from the supplied psimodifierlistowner . for optimization reasons , this method only looks at elements of type java.lang.string . the parameter allowindirect determines if the method should look for indirect annotations , i.e. annotations which have themselves been annotated by the supplied annotation name . currently , this only allows one level of indirection and returns an array of base-annotation , indirect annotation the annotationname parameter is a pair of the target annotation class ' fully qualified name as a string and as a set . this is done for performance reasons because the set is required by the com.intellij.codeinsight.annotationutil utility class and allows to avoid unnecessary object constructions . concode_field_sep PsiConstantEvaluationHelperImpl CONSTANT_EVALUATION_HELPER concode_field_sep boolean visitMethodParameter concode_elem_sep boolean visitAnnotationParameter concode_elem_sep void visitAnnotatedElements concode_elem_sep String calcAnnotationValue concode_elem_sep String calcAnnotationValue concode_elem_sep boolean visitReference concode_elem_sep boolean visitVariable concode_elem_sep PsiAnnotation[] getAnnotations concode_elem_sep PsiAnnotation[] getHierarchyAnnotations concode_elem_sep boolean visitMethodReturnStatement concode_elem_sep PsiAnnotation[] getAnnotationsFromImpl concode_elem_sep PsiModifierListOwner getAnnotatedElementFor concode_elem_sep boolean visitAnnotatedElementInner
target: PsiAnnotation [ ] function ( PsiModifierListOwner arg0 , Pair < String , ? extends Set < String >> arg1 , boolean arg2 , boolean arg3 ) { if ( ! PsiUtilEx . isLanguageAnnotationTarget ( arg0 ) ) return PsiAnnotation . EMPTY_ARRAY ; return getAnnotationsFromImpl ( arg0 , arg1 , arg2 , arg3 ) ; }