code: @Override
    public List<List<O>> finish(Collection<? extends OutputWriter<O>> writers) {
      ImmutableList.Builder<List<O>> out = ImmutableList.builder();
      for (OutputWriter<O> w : writers) {
        InMemoryOutputWriter<O> writer = (InMemoryOutputWriter<O>) w;
        out.add(ImmutableList.copyOf(writer.getResult()));
      }
      return out.build();
    }
docs: Returns a list of lists where the outer list has one element for each
  reduce shard, which is a list of the values emitted by that shard, in
  order.