code: public void filterUpdate(String columnId, int row, Integer maxSelections) {
          if (displayerSettings.isFilterEnabled()) {
  
              List<Interval> selectedIntervals = columnSelectionMap.get(columnId);
              Interval intervalFiltered = filterInterval(columnId, row);
  
              // Existing interval reset
              if (intervalFiltered != null) {
                  selectedIntervals.remove(intervalFiltered);
                  if (!selectedIntervals.isEmpty()) {
                      filterApply(columnId, selectedIntervals);
                  }
                  else {
                      filterReset(columnId);
                  }
              }
              // No current filter => Add the selected interval
              else if (selectedIntervals == null) {
                  Interval intervalSelected = dataSetHandler.getInterval(columnId, row);
                  if (intervalSelected != null) {
                      selectedIntervals = new ArrayList<>();
                      selectedIntervals.add(intervalSelected);
                      columnSelectionMap.put(columnId, selectedIntervals);
                      filterApply(columnId, selectedIntervals);
                  }
              }
              // Extra interval added to an already filtered column
              else {
                  Interval intervalSelected = dataSetHandler.getInterval(columnId, row);
                  if (intervalSelected != null) {
                      if (displayerSettings.isFilterSelfApplyEnabled()) {
                          selectedIntervals = new ArrayList<>();
                          columnSelectionMap.put(columnId, selectedIntervals);
                      }
                      selectedIntervals.add(intervalSelected);
                      if (maxSelections != null && maxSelections > 0 && selectedIntervals.size() >= maxSelections) {
                          filterReset(columnId);
                      } else {
                          filterApply(columnId, selectedIntervals);
                      }
                  }
              }
          }
      }
docs: Updates the current filter values for the given data set column.
  
  @param columnId The column to filter for.
  @param row The row selected.
  @param maxSelections The number of different selectable values available.