/// <summary> /// Create the marking stream. /// </summary> /// <param name="source">The stream to wrap.</param> /// <param name="leaveOpen">Whether to leave the stream open on <see cref="Dispose"/>.</param> public MarkingStream(Stream source, bool leaveOpen = false) { if (source == null) throw new ArgumentNullException("source"); Source = source; IsRead = new BooleanArray(source.Length); LeaveOpen = leaveOpen; }