+ * @param installSnapshotStream Optional OutputStream that is present if the snapshot is to also be installed
+ * on a follower. The implementation must serialize its state to the OutputStream and return the
+ * installSnapshotStream instance in the CaptureSnapshotReply along with the snapshot State instance.
+ * The snapshot State is serialized directly to the snapshot store while the OutputStream is used to send
+ * the state data to follower(s) in chunks. The {@link #deserializeSnapshot} method is used to convert the
+ * serialized data back to a State instance on the follower end. The serialization for snapshot install is
+ * passed off so the cost of serialization is not charged to the raft actor's thread.