/// <summary>
            ///   添加Event和Heartbeat
            /// </summary>
            /// <param name="manager"> </param>
            /// <param name="message"> </param>
            public void Add(IMessage message)
            {
                if ((_mStack.Count == 0))
                {
                    IMessageTree tree = _mTree.Copy();

                    if (String.IsNullOrWhiteSpace(tree.MessageId))
                    {
                        tree.MessageId = _mManager.NextMessageId();
                    }

                    tree.Message             = message;
                    tree.EstimatedByteSize   = message.EstimateByteSize();
                    _mTree.EstimatedByteSize = 0;
                    _mManager.Flush(tree);
                }
                else
                {
                    ITransaction parent = _mStack.Peek();
                    AddTransactionChild(message, parent);
                }
                Tree.EstimatedByteSize += message.EstimateByteSize();
            }