A threaded list of e-mail messages is provided by checking each received
message against previous messages to determine whether the new message is
associated with previous messages. If so, then a new thread is created.
The new thread has an associated thread header, which stores metadata
bout the messages in the thread. If the received message is related to
messages in an existing thread, then the received message is added to
that thread, and the thread header for that thread is updated to reflect
data from the received message. The thread header appears with messages
in a message list view of the inbox, and provides data about the thread.
Messages that are not part of a thread are shown in the same view as
threaded messages, without a thread header. This allows a user to view
both threaded and non-threaded messages in a single view.