code: public Filter<S> or(Filter<S> filter) {
          if (filter.isOpen()) {
              return filter;
          }
          if (filter.isClosed()) {
              return this;
          }
          return OrFilter.getCanonical(this, filter);
      }
docs: Returns a combined filter instance that accepts records which are
  accepted either by this filter or the one given.
  
  @return canonical Filter instance
  @throws IllegalArgumentException if filter is null