public void readFrom(DataInput in) throws Exception { type = in.readByte(); boolean isMergeView = in.readBoolean(); if (isMergeView) view = (View) Util.readStreamable(MergeView.class, in); else view = (View) Util.readStreamable(View.class, in); mbr = Util.readAddress(in); mbrs = Util.readAddresses(in, ArrayList.class); join_rsp = (JoinRsp) Util.readStreamable(JoinRsp.class, in); my_digest = (Digest) Util.readStreamable(Digest.class, in); merge_id = (MergeId) Util.readStreamable(MergeId.class, in); merge_rejected = in.readBoolean(); useFlushIfPresent = in.readBoolean(); }