code: public static <T> Filter<T> all(Collection<Filter<T>> filters) {
          return new MultiFilter<T>(filters) {
              @Override
              public T accept(T item) throws IOException {
                  for (Filter<T> filter: filters) {
                      filter.accept(item);
                  }
                  return item;
              }
          };
      }
docs: Gets a composite filter that sends the original object to each of the
  given filters unconditionally, then returns the original object
  unchanged.
  <p>
  When the composite filter is closed, the underlying filters will be
  closed.
  
  @param filters the filters.
  @param <T> the type.
  @return the composite filter.