void (@NotNull List<? super PluginsGroup> groups, @NotNull @Nls String name, @NotNull PluginsGroupType type, @NotNull String showAllQuery, @NotNull List<? extends IdeaPluginDescriptor> customPlugins, @NotNull Predicate<? super PluginsGroup> showAllPredicate) { PluginsGroup group = new PluginsGroup(name, type); int i = 0; for (Iterator<? extends IdeaPluginDescriptor> iterator = customPlugins.iterator(); iterator.hasNext() && i < ITEMS_PER_GROUP; i++) { group.descriptors.add(iterator.next()); } if (showAllPredicate.test(group)) { group.rightAction = new LinkLabelButton<>(IdeBundle.message("plugins.configurable.show.all"), null, myMarketplaceTab.mySearchListener, showAllQuery); group.rightAction.setBorder(JBUI.Borders.emptyRight(5)); } if (!group.descriptors.isEmpty()) { groups.add(group); } LOG.info("Marketplace tab: '" + name + "' group load finished"); }