static void checkForEachPatternApplicable(@NotNull PsiDeconstructionPattern pattern,
                                            @NotNull PsiType patternType,
                                            @NotNull PsiType itemType,
                                            @NotNull Consumer<? super HighlightInfo.Builder> errorSink) {
    if (!TypeConversionUtil.areTypesConvertible(itemType, patternType) &&
        (!IncompleteModelUtil.isIncompleteModel(pattern) ||
         !IncompleteModelUtil.isPotentiallyConvertible(patternType, itemType, pattern))) {
      errorSink.accept(HighlightUtil.createIncompatibleTypeHighlightInfo(itemType, patternType, pattern.getTextRange(), 0));
      return;
    }
    HighlightInfo.Builder error = getUncheckedPatternConversionError(pattern);
    if (error != null) {
      errorSink.accept(error);
    }
    else {
      createDeconstructionErrors(pattern, errorSink);
    }
  }
static void checkForEachPatternApplicable(@NotNull PsiDeconstructionPattern pattern,
                                            @NotNull PsiType patternType,
                                            @NotNull PsiType itemType,
                                            @NotNull Consumer<? super HighlightInfo.Builder> errorSink)