public override unsafe void Write(void *fieldAddress, SerializerOutput output) { var array = Unsafe.Read <bool[]>(fieldAddress); if (array == null) { output.WriteNull(); return; } var count = array.Length; if (count > 0) { var sizeTracker = output.BeginSizeTrack(); { output.EnsureNext(6 + (count * sizeof(bool))); output.Write7BitEncodedIntUnchecked(count); output.WriteByteUnchecked((byte)_elementDataType); output.WriteBoolsUnchecked(array, count); } output.WriteSizeTrack(sizeTracker); } else { output.EnsureNext(5); output.WriteIntUnchecked(1); //size tracker output.WriteByteUnchecked(0); } }