code: public Set<DOCUMENT> query(@NonNull Iterable<KEY> keys, @NonNull Predicate<? super DOCUMENT> filter) {
        return Streams.asParallelStream(keys)
                      .flatMap(key -> index.get(key).stream())
                      .map(documents::get)
                      .filter(filter)
                      .collect(Collectors.toSet());
     }
docs: Query list.
  
  @param keys   the keys
  @param filter the filter
  @return the list