public void addFilterInfo(FilterRoutingInfo eventRouting) {
    for (Map.Entry<InternalDistributedMember, FilterInfo> entry : eventRouting.serverFilterInfo
        .entrySet()) {
      FilterInfo existing = serverFilterInfo.get(entry.getKey());
      if (existing == null) {
        existing = new FilterInfo();
        serverFilterInfo.put(entry.getKey(), existing);
      }
      existing.addFilterInfo(entry.getValue());
    }
    if (eventRouting.localFilterInfo != null) {
      if (localFilterInfo == null) {
        localFilterInfo = new FilterInfo();
      }
      localFilterInfo.addFilterInfo(eventRouting.localFilterInfo);
    }
    memberWithFilterInfoExists |= eventRouting.memberWithFilterInfoExists;
  }
This adds the filter information from the given routing object to this object's tables. This is
used to merge routing information for putAll operations.

@param eventRouting the routing information for a single putAll event
geode-core/src/main/java/org/apache/geode/internal/cache/FilterRoutingInfo.java