public void ChatterBoxSessionAgentListUpdates(UUID sessionID, UUID toAgent, List <GroupChatListAgentUpdateData> updates)
        {
            StringBuilder sb = StartEvent("ChatterBoxSessionAgentListUpdates", 1024);

            LLSDxmlEncode.AddMap("agent_updates", sb);
            foreach (GroupChatListAgentUpdateData up in updates)
            {
                LLSDxmlEncode.AddMap(up.agentID.ToString(), sb);
                LLSDxmlEncode.AddMap("info", sb);
                LLSDxmlEncode.AddElem("can_voice_chat", up.canVoice, sb);
                LLSDxmlEncode.AddElem("is_moderator", up.isModerator, sb);
                LLSDxmlEncode.AddMap("mutes", sb);
                LLSDxmlEncode.AddElem("text", up.mutedText, sb);
                LLSDxmlEncode.AddEndMap(sb);     // mutes
                LLSDxmlEncode.AddEndMap(sb);     // info
                if (up.enterOrLeave)
                {
                    LLSDxmlEncode.AddElem("transition", "ENTER", sb);
                }
                else
                {
                    LLSDxmlEncode.AddElem("transition", "LEAVE", sb);
                }
                LLSDxmlEncode.AddEndMap(sb); //agentid
            }
            LLSDxmlEncode.AddEndMap(sb);     // agent_updates
            LLSDxmlEncode.AddEmptyMap("updates", sb);
            LLSDxmlEncode.AddElem("session_id", sessionID, sb);

            Enqueue(EndEventToBytes(sb), toAgent);
        }