void (@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); }