/// <summary>
        /// Writes the class fields to the writer.
        /// </summary>
        /// <param name="obj">The object to be encoded</param>
        /// <param name="writer">The writer to which to write</param>
        /// <param name="token">Cancellation token</param>
        public async System.Threading.Tasks.Task WriteAsync(PipelineMessage <T> obj, IDataWriter writer, CancellationToken token)
        {
            await BaseCodec.WriteAsync(obj.Data, writer, token);

            await writer.WriteBooleanAsync(obj.IsLast, token);
        }