source.put(boltId(i - 1), SourceArgs.single());
} else if (i >= 2) {
source.put(boltId(i - 1), SourceArgs.all());
boltId(i),
new CoordinatedBolt(component.bolt, source, idSpec),
component.parallelism);
prevId = PREPARE_ID;
} else {
prevId = boltId(i - 1);
declarer.directGrouping(boltId(i - 1), Constants.COORDINATED_STREAM_ID);
builder.setBolt(boltId(i), new JoinResult(PREPARE_ID))
.fieldsGrouping(boltId(i - 1), outputStream, new Fields(fields.get(0)))
.fieldsGrouping(PREPARE_ID, PrepareRequest.RETURN_STREAM, new Fields("request"));
i++;
builder.setBolt(boltId(i), new ReturnResults())
.noneGrouping(boltId(i - 1));
return builder.createTopology();