}
private int getXSize(
BSPPeer<VectorWritable, DoubleWritable, VectorWritable, DoubleWritable, VectorWritable> peer)
throws IOException {
VectorWritable key = new VectorWritable();
DoubleWritable value = new DoubleWritable();
peer.readNext(key, value);
peer.reopenInput(); // reset input to start
if (key.getVector() == null) {
throw new IOException("cannot read input vector size");
}
return key.getVector().getDimension();
}