private void showFrameworks(@NotNull TemplatesGroup group, @NotNull ModuleBuilder moduleBuilder) {
    ProjectCategory category = group.getProjectCategory();

    List<FrameworkSupportInModuleProvider> providers = FrameworkSupportUtil.getProviders(moduleBuilder);
    if (category != null) {
      List<FrameworkSupportInModuleProvider> filtered = ContainerUtil.filter(providers, provider -> matchFramework(category, provider));
      // add associated
      Map<String, FrameworkSupportInModuleProvider> map = ContainerUtil.newMapFromValues(providers.iterator(), o -> o.getId());
      Set<FrameworkSupportInModuleProvider> set = new HashSet<>(filtered);
      for (FrameworkSupportInModuleProvider provider : filtered) {
        for (FrameworkSupportInModuleProvider.FrameworkDependency depId : provider.getDependenciesFrameworkIds()) {
          FrameworkSupportInModuleProvider dependency = map.get(depId.getFrameworkId());
          if (dependency == null) {
            if (!depId.isOptional()) {
              LOG.error("Cannot find provider '" + depId.getFrameworkId() + "' which is required for '" + provider.getId() + "'");
            }
            continue;
          }
          set.add(dependency);
        }
      }

      myFrameworksPanel.setProviders(new ArrayList<>(set),
                                     Set.of(category.getAssociatedFrameworkIds()),
                                     Set.of(category.getPreselectedFrameworkIds()));
    }
    else {
      myFrameworksPanel.setProviders(providers);
    }

    moduleBuilder.addModuleConfigurationUpdater(myConfigurationUpdater);

    showCard(FRAMEWORKS_CARD);
  }
private void showFrameworks(@NotNull TemplatesGroup group, @NotNull ModuleBuilder moduleBuilder)