private static void addChildFrameworks(
     final List<FrameworkSupportNodeBase> list, final List<FrameworkSupportNode> result) {
   for (FrameworkSupportNodeBase node : list) {
     if (node.isChecked() || node instanceof FrameworkGroupNode) {
       if (node instanceof FrameworkSupportNode) {
         result.add((FrameworkSupportNode) node);
       }
       //noinspection unchecked
       addChildFrameworks(node.getChildren(), result);
     }
   }
 }
 private void updateOptionsPanel() {
   final FrameworkSupportNodeBase node = getSelectedNode();
   if (node instanceof FrameworkSupportNode) {
     FrameworkSupportNode frameworkSupportNode = (FrameworkSupportNode) node;
     initializeOptionsPanel(frameworkSupportNode, true);
     showCard(frameworkSupportNode.getId());
     UIUtil.setEnabled(myOptionsPanel, frameworkSupportNode.isChecked(), true);
     frameworkSupportNode.getConfigurable().onFrameworkSelectionChanged(node.isChecked());
   } else if (node instanceof FrameworkGroupNode) {
     FrameworkGroup<?> group = ((FrameworkGroupNode) node).getUserObject();
     initializeGroupPanel(group, true);
     showCard(group.getId());
     UIUtil.setEnabled(myOptionsPanel, true, true);
   } else {
     showCard(EMPTY_CARD);
   }
 }