ate HighlightInfo.Builder checkRecordExhaustiveness(@NotNull List<? extends PsiCaseLabelElement> elements,
                                                          @Nullable PsiType selectorClassType) {
    PsiClass selectorClass = PsiUtil.resolveClassInClassTypeOnly(TypeConversionUtil.erasure(selectorClassType));
    if (selectorClass == null) {
      return null;
    }
    RecordExhaustivenessResult exhaustivenessResult =
      PatternHighlightingModel.checkRecordExhaustiveness(elements, selectorClassType, myBlock);

    if (!exhaustivenessResult.isExhaustive()) {
      HighlightInfo.Builder builder = createCompletenessInfoForSwitch(!elements.isEmpty());
      if (exhaustivenessResult.canBeAdded() && selectorClass.isRecord()) {
        IntentionAction fix =
          getFixFactory().createAddMissingRecordClassBranchesFix(myBlock, selectorClass, exhaustivenessResult.getMissedBranchesByType(),
                                                                 elements);
        if (fix != null) {
          builder.registerFix(fix, null, null, null, null);
        }
      }
      return builder;
    }
    return null;
  }

  
ate HighlightInfo.Builder checkRecordExhaustiveness(@NotNull List<? extends PsiCaseLabelElement> elements,
                                                          @Nullable PsiType selectorClassType) {
 