static HighlightInfo.Builder checkRecordAccessorDeclaration(@NotNull PsiMethod method) {
    PsiRecordComponent component = JavaPsiRecordUtil.getRecordComponentForAccessor(method);
    if (component == null) return null;
    PsiIdentifier identifier = method.getNameIdentifier();
    if (identifier == null) return null;
    PsiType componentType = component.getType();
    PsiType methodType = method.getReturnType();
    if (methodType == null) return null; // Either constructor or incorrect method, will be reported in another way
    if (componentType instanceof PsiEllipsisType) {
      componentType = ((PsiEllipsisType)componentType).getComponentType().createArrayType();
    }
    if (!componentType.equals(methodType)) {
      String message =
        JavaErrorBundle.message("record.accessor.wrong.return.type", componentType.getPresentableText(), methodType.getPresentableText());
      HighlightInfo.Builder info = HighlightInfo.newHighlightInfo(HighlightInfoType.ERROR).range(
        Objects.requireNonNull(method.getReturnTypeElement())).descriptionAndTooltip(message);
      IntentionAction action = QuickFixFactory.getInstance().createMethodReturnFix(method, componentType, false);
      info.registerFix(action, null, null, null, null);
      return info;
    }
    return checkRecordSpecialMethodDeclaration(method, JavaErrorBundle.message("record.accessor"));
  }
static HighlightInfo.Builder checkRecordAccessorDeclaration(@NotNull PsiMethod method)