/// <summary>
        /// Returns a StringBuilder containing the contents of the given message buffer.
        /// </summary>
        /// <param name="messageBuffer"></param>
        /// <returns></returns>
        protected StringBuilder GetMessageBufferAsStringBuilder(MessageBuffer messageBuffer)
        {
            XPathNavigator nav = messageBuffer.CreateNavigator();
            XmlDocument navDoc = new XmlDocument();
            navDoc.LoadXml(nav.OuterXml);

            StringBuilder sb = new StringBuilder();
            sb.Append(navDoc.ChildNodes[0].ChildNodes[1].InnerXml);

            return sb;
        }
        public override bool Match(MessageBuffer buffer)
        {
            if (_filterExpression == null)
            {
                _filterExpression = XPathExpression.Compile($"////value == {_filterParam}");
            }

            XPathNavigator navigator = buffer.CreateNavigator();
            return navigator.Matches(_filterExpression);
            //XDocument doc = await GetMessageEnvelope(buffer);
            //return Match(doc);
        }