private void WriteTo(MetadataReader reader, ObjectWriter writer, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var blockFieldInfo = reader.GetType().GetTypeInfo().GetDeclaredField("Block");
            var block = blockFieldInfo.GetValue(reader);

            // TODO: once things become public API, change it to copy stream over byte* and length from metadata reader
            var toArrayFieldInfo = block.GetType().GetTypeInfo().GetDeclaredMethod("ToArray");
            var array = (byte[])toArrayFieldInfo.Invoke(block, null);

            writer.WriteValue(array);
        }