public static void buildBroadcastShardsHeader( JsonBuilder builder, BroadcastOperationResponse response) throws IOException { builder.startObject("_shards"); builder.field("total", response.totalShards()); builder.field("successful", response.successfulShards()); builder.field("failed", response.failedShards()); if (!response.shardFailures().isEmpty()) { builder.startArray("failures"); for (ShardOperationFailedException shardFailure : response.shardFailures()) { builder.startObject(); if (shardFailure.index() != null) { builder.field("index", shardFailure.index()); } if (shardFailure.shardId() != -1) { builder.field("shard", shardFailure.shardId()); } builder.field("reason", shardFailure.reason()); builder.endObject(); } builder.endArray(); } builder.endObject(); }