public static SearchConversationDetails HydrateFromServer(IClientBehaviour conn, SearchConversationDetails scd)
        {
            if (scd == null)
                throw new ArgumentNullException("scd", "Probably ConversationDetails is being cast as SearchConversationDetails");

            var conversation = conn.DetailsOf(scd.Jid);

            scd.blacklist = conversation.blacklist;
            scd.CreatedAsTicks = conversation.CreatedAsTicks;
            scd.Permissions = conversation.Permissions;
            scd.Slides = conversation.Slides;
            scd.Tag = conversation.Tag;

            return scd;
        }
        public static SearchConversationDetails HydrateFromServer(IClientBehaviour conn, ConversationDetails conv)
        {
            if (conv == null)
                throw new ArgumentNullException();

            return HydrateFromServer(conn, new SearchConversationDetails(conv));
        }