int k = Integer.parseInt(key.toString());
Cluster model = newModels[k];
for (VectorWritable value : values) {
// only observe real points, not the empty placeholders emitted by each mapper
if (value.get().size() > 0) {
model.observe(value);
}
}
DirichletCluster cluster = clusterer.updateCluster(model, k);
context.write(new Text(String.valueOf(k)), cluster);
}