static void checkEnumConstantForConstructorProblems(@NotNull Project project,
                                                      @NotNull PsiEnumConstant enumConstant,
                                                      @NotNull JavaSdkVersion javaSdkVersion, @NotNull Consumer<? super HighlightInfo.Builder> errorSink) {
    PsiClass containingClass = enumConstant.getContainingClass();
    LOG.assertTrue(containingClass != null);
    if (enumConstant.getInitializingClass() == null) {
      HighlightInfo.Builder highlightInfo = HighlightClassUtil.checkInstantiationOfAbstractClass(containingClass, enumConstant.getNameIdentifier());
      if (highlightInfo != null) {
        IntentionAction action = QuickFixFactory.getInstance().createImplementMethodsFix(enumConstant);
        highlightInfo.registerFix(action, null, null, null, null);
        errorSink.accept(highlightInfo);
        return;
      }
      highlightInfo = HighlightClassUtil.checkClassWithAbstractMethods(enumConstant.getContainingClass(), enumConstant, enumConstant.getNameIdentifier().getTextRange());
      if (highlightInfo != null) {
        errorSink.accept(highlightInfo);
        return;
      }
    }
    PsiClassType type = JavaPsiFacade.getElementFactory(project).createType(containingClass);

    HighlightMethodUtil.checkConstructorCall(project, type.resolveGenerics(), enumConstant, type, null, javaSdkVersion,
                                             enumConstant.getArgumentList(), errorSink);
  }
static void checkEnumConstantForConstructorProblems(@NotNull Project project,
                                                      @NotNull PsiEnumConstant enumConstant,
                                                      @NotNull JavaSdkVersion javaSdkVersion, @NotNull Consumer<? super HighlightInfo.Builder> errorSink)