/// <inheritdoc />
        public override void Write(T[] array, IDataWriter writer, IServiceProvider serviceProvider)
        {
            var itemSerializer = Factory.GetSerializer <T>(serviceProvider);

            writer.WriteArrayStart();
            var arrayLength = array.Length;

            for (var i = 0; i < arrayLength; ++i)
            {
                itemSerializer.WriteObject(array[i], writer, serviceProvider);
            }
            writer.WriteArrayEnd();
        }