/// <summary>
        ///     Serializes the <paramref name="value"/> to a byte array.
        /// </summary>
        public static async Task <byte[]> Serialize(this IAbstractSerializer serializer, object value, CancellationToken token = default)
        {
            var stream = new MemoryStream();
            await serializer.SerializeObject(stream, value, token);

            return(stream.ToArray());
        }
 /// <summary>
 ///     Deserializes a byte array to object.
 /// </summary>
 public static Task <object> Deserialize(this IAbstractSerializer serializer, byte[] bytes, CancellationToken token = default) =>
 serializer.DeserializeObject(new MemoryStream(bytes), token);