Table of Contents

Method Of

Namespace
MailFathom.Application.Emails.Threads
Assembly
MailFathom.Application.dll

Of(IReadOnlyList<ThreadedEmailSummary>)

Orders the messages a caller is shown, and places each one against the message it answers.

public static IReadOnlyList<PlacedThreadedEmail> Of(IReadOnlyList<ThreadedEmailSummary> visibleEmails)

Parameters

visibleEmails IReadOnlyList<ThreadedEmailSummary>

The conversation's messages the caller may see, in any order.

Returns

IReadOnlyList<PlacedThreadedEmail>

The messages in the conversation's order, each carrying its position and the message it answers.

Remarks

A message whose recorded parent is not among the ones shown becomes a root of what is shown, which is both the answer for a withheld parent and the answer for an ancestor this deployment never stored. Every message given is returned exactly once, including the ones behind a reply cycle no walk could reach the end of: one member of the cycle is emitted as a root and everything else keeps the message it answers, so a conversation is never published with a message silently missing from it and never loses a reply relation the cycle did not close.

Exceptions

ArgumentNullException

Thrown when visibleEmails is null.