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());
           }
         });
   }
 }