override protected void HandleStartElement(XmlNodeInformation nodeInfo)
        {
            if (IsCleaning && (HiddenText || m_wholeStringStateIsSmallText || m_wholeStringStateIsRedactedText))
                return;

            //please note that at the moment we are ignoring the count and uniquecount attributes of the sst node
            //even if we clean out some si content it does not currently appear to cause any problems and would
            //be problematic to alter
            #region switch(nodeInfo.NodeName)
            switch (nodeInfo.NodeName)
            {
                case "si":
                    {
                        m_stringBuilder = new StringBuilder();
                        m_currentStringIndex++;
                        if (!ShouldWriteOut_si())
                            return;
                        break;
                    }
                case "r":
                    {
                        if (IsCleaning)
                        {
                            HandleRichTextRun(nodeInfo);
                            return;
                        }
                        break;
                    }
                case "color":
                    {
                        HandleColorElement(nodeInfo);
                        break;
                    }
                case "sz":
                    {
                        HandleSizeElement(nodeInfo);
                        break;
                    }
                case "t":
                    {
                        if (m_partialStringStateIsWhiteText || m_partialStringStateIsSmallText)
                        {
                            m_addText = false;
                            return;
                        }
                        break;
                    }
            }
            #endregion

            if (m_richTextRun.Count > 0)
            {
                NodeData nData = new NodeData();
                nData.m_nodeType = NodeType.start;
                nodeInfo.GetAttributes();//make sure they have all been read before we store it
                nData.m_NodeInfo = nodeInfo;
                m_richTextRun.Add(nData);
                return;
            }
            base.HandleStartElement(nodeInfo);
        }
 private void HandleRichTextRun(XmlNodeInformation nodeInfo)
 {
     NodeData nData = new NodeData();
     nData.m_NodeInfo = nodeInfo;
     m_richTextRun.Add(nData);
 }