Call call = (Call)calls.remove(new Integer(id));
boolean isError = in.readBoolean(); // read if error
if (isError) {
UTF8 utf8 = new UTF8();
utf8.readFields(in); // read error string
call.error = utf8.toString();
call.value = null;
} else {
Writable value = makeValue();
value.readFields(in); // read value