internal static List <BlobRecipient> ReadRecipients(ExTimeZone timeZone, Stream stream) { List <BlobRecipient> list = new List <BlobRecipient>(); try { BinaryReader binaryReader = new BinaryReader(stream); uint num = binaryReader.ReadUInt32(); if (num == 1U) { uint num2 = binaryReader.ReadUInt32(); for (uint num3 = 0U; num3 < num2; num3 += 1U) { BlobRecipient blobRecipient = BlobRecipientParser.ReadRecipient(timeZone, binaryReader); if (blobRecipient == null || blobRecipient.Participant == null) { ExTraceGlobals.StorageTracer.TraceError(0L, "BlobRecipientParser::ReadRecipients. Failed to read a recipient. Skip rest of blob."); break; } list.Add(blobRecipient); } } } catch (EndOfStreamException) { ExTraceGlobals.StorageTracer.TraceError(0L, "BlobRecipientParser::ReadRecipients. EndOfStream."); } return(list); }