public static boolean isOnXParameterAnnotation(HighlightInfo highlightInfo, PsiFile file) {
    final String description = StringUtil.notNullize(highlightInfo.getDescription());
    if (!(ANNOTATION_TYPE_EXPECTED.equals(description)
          || CANNOT_RESOLVE_SYMBOL_UNDERSCORES_MESSAGE.matcher(description).matches()
          || LOMBOK_ANY_ANNOTATION_REQUIRED.matcher(description).matches())) {
      return false;
    }

    PsiElement highlightedElement = file.findElementAt(highlightInfo.getStartOffset());

    PsiNameValuePair nameValuePair = findContainingNameValuePair(highlightedElement);
    if (nameValuePair == null || !(nameValuePair.getContext() instanceof PsiAnnotationParameterList)) {
      return false;
    }

    String parameterName = nameValuePair.getName();
    if (null != parameterName && parameterName.contains("_")) {
      parameterName = parameterName.substring(0, parameterName.indexOf('_'));
    }
    if (!ONX_PARAMETERS.contains(parameterName)) {
      return false;
    }

    PsiElement containingAnnotation = nameValuePair.getContext().getContext();
    return containingAnnotation instanceof PsiAnnotation &&
           ONXABLE_ANNOTATIONS.contains(((PsiAnnotation)containingAnnotation).getQualifiedName());
  }
public static boolean isOnXParameterAnnotation(HighlightInfo highlightInfo, PsiFile file)