@Override
  public CommonProblemDescriptor @Nullable [] checkElement(@NotNull RefEntity refEntity,
                                                           @NotNull AnalysisScope scope,
                                                           @NotNull InspectionManager manager,
                                                           @NotNull GlobalInspectionContext globalContext,
                                                           @NotNull ProblemDescriptionsProcessor processor) {
    if (refEntity instanceof RefModule) {
      Module module = ((RefModule)refEntity).getModule();
      if (module.isDisposed() || !scope.containsModule(module)) return null;
      LanguageLevel languageLevel = LanguageLevelUtil.getEffectiveLanguageLevel(module);
      for (OrderEntry entry : ModuleRootManager.getInstance(module).getOrderEntries()) {
        if (!(entry instanceof ModuleOrderEntry)) continue;
        final Module dependantModule = ((ModuleOrderEntry)entry).getModule();
        if (dependantModule == null) continue;
        LanguageLevel dependantLanguageLevel = LanguageLevelUtil.getEffectiveLanguageLevel(dependantModule);
        if (languageLevel.compareTo(dependantLanguageLevel) < 0) {
          final CommonProblemDescriptor problemDescriptor = manager.createProblemDescriptor(
            JavaAnalysisBundle.message("module.0.with.language.level.1.depends.on.module.2.with.language.level.3", 
                                       module.getName(), languageLevel.getShortText(),
                                       dependantModule.getName(), dependantLanguageLevel.getShortText()),
            module,
            new UnnecessaryModuleDependencyInspection.RemoveModuleDependencyFix(dependantModule.getName()),
            (QuickFix)QuickFixFactory.getInstance().createShowModulePropertiesFix(module));
          return new CommonProblemDescriptor[] {problemDescriptor};
        }
      }
    }
    return null;
  }
@Override
  public CommonProblemDescriptor @Nullable [] checkElement(@NotNull RefEntity refEntity,
                                                           @NotNull AnalysisScope scope,
                                                           @NotNull InspectionManager manager,
                                                           @NotNull GlobalInspectionContext globalContext,
                                                           @NotNull ProblemDescriptionsProcessor processor)