((Input<?>) input).setContext(context);
List<? extends InputReader<KeyValue<ByteBuffer, Iterator<ByteBuffer>>>> readers =
input.createReaders();
Output<KeyValue<ByteBuffer, List<ByteBuffer>>, FilesByShard> output =
new GoogleCloudStorageMergeOutput(settings.getBucketName(), mrJobId, tier);
output.setContext(context);
List<? extends OutputWriter<KeyValue<ByteBuffer, List<ByteBuffer>>>> writers =
output.createWriters(readers.size());
Preconditions.checkState(readers.size() == writers.size(), "%s: %s readers, %s writers",
shardedJobId, readers.size(), writers.size());
ImmutableList.Builder<WorkerShardTask<KeyValue<ByteBuffer, Iterator<ByteBuffer>>,
KeyValue<ByteBuffer, List<ByteBuffer>>, MergeContext>> mergeTasks =
ImmutableList.builder();