@Contract(pure = true)
  public static @Nullable PsiAnnotationOwner getTarget(@NotNull PsiModifierListOwner modifierListOwner, boolean existsTypeUseTarget) {
    PsiModifierList list = modifierListOwner.getModifierList();
    if (list == null) return null;
    if (existsTypeUseTarget && !(modifierListOwner instanceof PsiCompiledElement)) {
      PsiElement parent = list.getParent();
      PsiTypeElement type = null;
      if (parent instanceof PsiMethod) {
        type = ((PsiMethod)parent).getReturnTypeElement();
      }
      else if (parent instanceof PsiVariable) {
        type = ((PsiVariable)parent).getTypeElement();
      }
      if (type != null && type.acceptsAnnotations()) return type;
    }
    return list;
  }
@Contract(pure = true)
  public static @Nullable PsiAnnotationOwner getTarget(@NotNull PsiModifierListOwner modifierListOwner, boolean existsTypeUseTarget)