code: public void applyFilterChanges(Filter binderServiceFilter) {
          this.binderServiceFilter = binderServiceFilter;
  
          Set<ServiceReference<S>> added = new HashSet<ServiceReference<S>>();
          Set<ServiceReference<S>> removed = new HashSet<ServiceReference<S>>();
  
          for (Map.Entry<ServiceReference<S>, BinderDescriptor> e : declarationBinders.entrySet()) {
              boolean matchFilter = this.binderServiceFilter.matches(e.getValue().properties);
              if (matchFilter != e.getValue().match && matchFilter) {
                  added.add(e.getKey());
              } else if (matchFilter != e.getValue().match && !matchFilter) {
                  removed.add(e.getKey());
              }
              e.getValue().match = matchFilter;
          }
          for (ServiceReference<S> binderReference : removed) {
              removeLinks(binderReference);
          }
          for (ServiceReference<S> binderReference : added) {
              createLinks(binderReference);
          }
      }
docs: Compute and apply all the modifications bring by the modification of the DeclarationBinderFilter.
  <p/>
  Find all the DeclarationBinder that are now matching the filter and all that are no more matching the filter.
  <ul>
  <li>Remove all the links of the ones which are no more matching the DeclarationBinderFilter.</li>
  <li>Create the links of the ones which are now matching the DeclarationBinderFilter.</li>
  </ul>
  
  @param binderServiceFilter