public static async Task <(MemoryStream ms, int innerLength)> WriteItemsToBufferedStream( IAsn1Serializer asn1Serializer, IEnumerable <Asn1Object> items, CancellationToken cancellationToken) { var ms = new MemoryStream(); var sequenceItemsBytes = 0; foreach (var part in items) { sequenceItemsBytes += await asn1Serializer.Write(part, ms, cancellationToken); } await ms.FlushAsync(cancellationToken); ms.Position = 0; return(ms, sequenceItemsBytes); }