protected internal override async Task PackToAsyncCore(Packer packer, T objectTree, CancellationToken cancellationToken)
        {
            await TypeInfoEncoder.EncodeAsync(packer, this.GetTypeCode( objectTree ), cancellationToken).ConfigureAwait(false);

            await this.GetActualTypeSerializer(objectTree.GetType()).PackToAsync(packer, objectTree, cancellationToken).ConfigureAwait(false);
        }