@Override
public void readFields(DataInput in) throws IOException {
boolean hasVector = in.readBoolean();
if (hasVector) {
VectorWritable writable = new VectorWritable();
writable.readFields(in);
set(writable.get());
} else {
long theUserID = Varint.readSignedVarLong(in);
float theValue = in.readFloat();
set(theUserID, theValue);