code: protected void warnAddOnsAndExtensionsNoLongerRunnable() {
          final AddOnLoader addOnLoader = ExtensionFactory.getAddOnLoader();
          List<String> idsAddOnsNoLongerRunning = addOnLoader.getIdsAddOnsWithRunningIssuesSinceLastRun();
          if (idsAddOnsNoLongerRunning.isEmpty()) {
              return;
          }
  
          List<AddOn> addOnsNoLongerRunning = new ArrayList<>(idsAddOnsNoLongerRunning.size());
          for (String id : idsAddOnsNoLongerRunning) {
              addOnsNoLongerRunning.add(addOnLoader.getAddOnCollection().getAddOn(id));
          }
  
          for (AddOn addOn : addOnsNoLongerRunning) {
              AddOn.AddOnRunRequirements requirements = addOn
                      .calculateRunRequirements(addOnLoader.getAddOnCollection().getAddOns());
              List<String> issues = AddOnRunIssuesUtils.getRunningIssues(requirements);
              if (issues.isEmpty()) {
                  issues = AddOnRunIssuesUtils.getExtensionsRunningIssues(requirements);
              }
  
              getLogger().warn(
                      "Add-on \"" + addOn.getId()
                              + "\" or its extensions will no longer be run until its requirements are restored: " + issues);
          }
      }
docs: Warns, through logging, about add-ons and extensions that are no longer runnable because of changes in its dependencies.