@Override public void readFields(DataInput in) throws IOException { task_ = Task.deserialize(in); int numWorkers = in.readInt(); workerAddresses_ = new ArrayList<NetworkAddress>(); for (int i = 0; i < numWorkers; ++i) { int hostnameLen = in.readInt(); byte[] hostnameBuffer = new byte[hostnameLen]; in.readFully(hostnameBuffer); int port = in.readInt(); workerAddresses_.add(new NetworkAddress(new String(hostnameBuffer), port)); } } }