boolean (@NotNull HeaderValuePart valuePart, @NotNull PsiClass aClass, @NotNull AnnotationHolder holder) { String header = ((Header)valuePart.getParent()).getName(); if (MAIN_CLASS.equals(header) && !PsiMethodUtil.hasMainMethod(aClass)) { holder.newAnnotation(HighlightSeverity.ERROR, ManifestBundle.message("header.main.class.invalid")).range(valuePart.getHighlightingRange()).create(); return true; } if (PREMAIN_CLASS.equals(header) && !hasInstrumenterMethod(aClass, "premain")) { holder.newAnnotation(HighlightSeverity.ERROR, ManifestBundle.message("header.pre-main.class.invalid")).range(valuePart.getHighlightingRange()).create(); return true; } if ((AGENT_CLASS.equals(header) || LAUNCHER_AGENT_CLASS.equals(header)) && !hasInstrumenterMethod(aClass, "agentmain")) { holder.newAnnotation(HighlightSeverity.ERROR, ManifestBundle.message("header.agent.class.invalid")).range(valuePart.getHighlightingRange()).create(); return true; } return false; }