private void updateUiOnFilterChange() { FilterModel[] models = { myBranchFilterModel, myUserFilterModel, myDateFilterModel, myStructureFilterModel, myTextFilterModel }; for (FilterModel<?> model : models) { model.addSetFilterListener( new Runnable() { @Override public void run() { myUi.applyFiltersAndUpdateUi(); myBranchFilterModel.onStructureFilterChanged( new HashSet<VirtualFile>(myLogDataHolder.getRoots()), myStructureFilterModel.getFilter()); } }); } }