A computer-implemented method, comprising: receiving a message; accessing ancestor message information corresponding to the received message; accessing recipient information corresponding to the received message; and adding the received message to a given thread in a given conversation based on the ancestor message information and the recipient information, wherein adding the received message to a given thread in a given conversation comprises: determining whether a received message is in reply to a parent message that is in an already-existing conversation in a messaging system; if so, determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message; and if the recipient set in the received message has at least all recipients in the recipient set in the parent message, then adding the received message to an existing thread in the already-existing conversation in the messaging system, and wherein determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message comprises: determining whether the recipient set in the received message is identical to the recipient set in the parent message; if not, determining whether the recipient set in the received message is a superset of the recipient set in the parent message; and if so, adding it to the existing thread in the already-existing conversation. receiving a message; accessing ancestor message information corresponding to the received message; accessing recipient information corresponding to the received message; and adding the received message to a given thread in a given conversation based on the ancestor message information and the recipient information, wherein adding the received message to a given thread in a given conversation comprises: determining whether a received message is in reply to a parent message that is in an already-existing conversation in a messaging system; if so, determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message; and if the recipient set in the received message has at least all recipients in the recipient set in the parent message, then adding the received message to an existing thread in the already-existing conversation in the messaging system, and wherein determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message comprises: determining whether the recipient set in the received message is identical to the recipient set in the parent message; if not, determining whether the recipient set in the received message is a superset of the recipient set in the parent message; and if so, adding it to the existing thread in the already-existing conversation. determining whether a received message is in reply to a parent message that is in an already-existing conversation in a messaging system; if so, determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message; and if the recipient set in the received message has at least all recipients in the recipient set in the parent message, then adding the received message to an existing thread in the already-existing conversation in the messaging system, and wherein determining whether a recipient set in the received message has at least all recipients in a recipient set in the parent message comprises: determining whether the recipient set in the received message is identical to the recipient set in the parent message; if not, determining whether the recipient set in the received message is a superset of the recipient set in the parent message; and if so, adding it to the existing thread in the already-existing conversation. determining whether the recipient set in the received message is identical to the recipient set in the parent message; if not, determining whether the recipient set in the received message is a superset of the recipient set in the parent message; and if so, adding it to the existing thread in the already-existing conversation.