private static void checkConstructors(@NotNull AnnotationHolder holder, @NotNull GrTypeDefinition typeDefinition) {
    if (typeDefinition.isEnum() || typeDefinition.isInterface() || typeDefinition.isAnonymous() || typeDefinition instanceof GrTypeParameter) return;
    final PsiClass superClass = typeDefinition.getSuperClass();
    if (superClass == null) return;

    if (InheritConstructorContributor.hasInheritConstructorsAnnotation(typeDefinition)) return;

    final PsiMethod[] constructors = typeDefinition.getCodeConstructors();
    checkDefaultConstructors(holder, typeDefinition, superClass, constructors);
    checkRecursiveConstructors(holder, constructors);
  }
private static void checkConstructors(@NotNull AnnotationHolder holder, @NotNull GrTypeDefinition typeDefinition)