public ReadResponse deserialize(DataInput dis, int version) throws IOException { byte[] digest = null; int digestSize = dis.readInt(); if (digestSize > 0) { digest = new byte[digestSize]; dis.readFully(digest, 0, digestSize); } boolean isDigest = dis.readBoolean(); assert isDigest == digestSize > 0; Row row = null; if (!isDigest) { // This is coming from a remote host row = Row.serializer.deserialize( dis, version, ColumnSerializer.Flag.FROM_REMOTE, ArrayBackedSortedColumns.factory()); } return isDigest ? new ReadResponse(ByteBuffer.wrap(digest)) : new ReadResponse(row); }