public override void Write(LinearPathMoveInfo value, Span <byte> buffer, ref int offset)
        {
            if (value == null)
            {
                return;
            }

            GenericTypePrimitiveSerializerStrategy <int> .Instance.Write(value.LastIndex, buffer, ref offset);

            GenericTypePrimitiveSerializerStrategy <float> .Instance.Write(value.FinalPosition.X, buffer, ref offset);

            GenericTypePrimitiveSerializerStrategy <float> .Instance.Write(value.FinalPosition.Y, buffer, ref offset);

            GenericTypePrimitiveSerializerStrategy <float> .Instance.Write(value.FinalPosition.Z, buffer, ref offset);

            if (value.LastIndex > 1 && value.SplineMiddlePoints != null)
            {
                throw KnownIncompleteSerializationException.Create <LinearPathMoveInfo>($"TODO: Implement mid points writing.");
            }
        }
        public override void Write(UpdateFieldValueCollection value, Span <byte> buffer, ref int offset)
        {
            throw KnownIncompleteSerializationException.Create <UpdateFieldValueCollection>($"TODO: Reimplement UpdateCollection write.");

            /*//TODO: Major performance gains if we can avoid allocations here. MAJOR!!
             * //The size must be equal to the length divided by 8 bits (1 byte) but we do not include the
             * //remainder from a modular division. The reason for this is it's always sent as 4 byte chunks from
             * //Trinitycore and the size is always in terms of an int array
             * byte[] bitmask = new byte[value.UpdateMask.Length / 8];
             *
             * ((ICollection)value.UpdateMask).CopyTo(bitmask, 0);
             *
             * byte size = (byte)(bitmask.Length / sizeof(int));
             *
             * //Write the size as if it were an int array first
             * dest.Write(size);
             *
             * dest.Write(bitmask);
             *
             * //We must also write the update values
             * dest.Write(value.UpdateDiffValues);*/
        }