void (@NotNull ChangesGroupingSupport groupingSupport, @NotNull Supplier<? extends Collection<String>> settingsGetter, @NotNull Consumer<? super Collection<String>> settingsSetter, @NotNull Runnable refresh) { groupingSupport.setGroupingKeysOrSkip(settingsGetter.get()); groupingSupport.addPropertyChangeListener(e -> { settingsSetter.accept(ContainerUtil.sorted(groupingSupport.getGroupingKeys())); refresh.run(); }); }