public void Add(Blob value) { Debug.Assert(value != null); Debug.Assert(!value.IsEmpty); Debug.Assert(value._chunks != null); if (value.IsArrayOfChunks) { AddChunk(value.AddRef()); } else { // if containing only one chunk, add it directly var chunk = value._chunks; InplaceDeepCopy(ref chunk); AddChunk(chunk); } _flags |= (value._flags & (Flags.ContainsBinary | Flags.ContainsMutables)); // maintain the binary data flag }