docs: private static JScrollPane createScrollableTreeAddOnsNotRunnable(
              final AddOnCollection availableAddOns,
              AddOn... addOnsNotRunnable) {
          AddOnSearcher addOnSearcher = new AddOnSearcher() {
  
              @Override
              public AddOn searchAddOn(String id) {
                  return availableAddOns.getAddOn(id);
              }
          };
  
          DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("");
          for (AddOn addOn : addOnsNotRunnable) {
              DefaultMutableTreeNode addOnNode = new DefaultMutableTreeNode(addOn.getName());
              AddOn.AddOnRunRequirements requirements = addOn.calculateRunRequirements(availableAddOns.getAddOns());
              List<String> issues = getUiRunningIssues(requirements, addOnSearcher);
  
              if (issues.isEmpty()) {
                  issues.addAll(getUiExtensionsRunningIssues(requirements, addOnSearcher));
              }
  
              for (String issue : issues) {
                  addOnNode.add(new DefaultMutableTreeNode(issue));
              }
              rootNode.add(addOnNode);
          }
  
          JXTree tree = new JXTree(new DefaultTreeModel(rootNode));
          tree.setVisibleRowCount(5);
          tree.setEditable(false);
          tree.setRootVisible(false);
          tree.setShowsRootHandles(true);
          tree.expandAll();
  
          return new JScrollPane(tree);
      }