protected override void OnPreRender(EventArgs e)
        {
            base.OnPreRender(e);

            if (!Page.IsPostBack || EditorParts[0].Display)
            {
                SPSTreeXML treeXML = GetTreeXML();
                if (treeXML != null)
                {
                    try
                    {
                        treeXML.Fill(_treeView, _rollupEngine.Data.Tables[0].DefaultView);
                        treeXML.Decorate(_treeView);
                    }
                    catch (Exception ex)
                    {
                        TrapSubsystemError(this,
                                           new SPSErrorArgs("Render", SPSRollUpEngine.GetResourceString("SPS_Err_TreeDefinition"), ex));
                    }
                }
                else
                {
                    TrapSubsystemError(this,
                                       new SPSErrorArgs("Render", SPSRollUpEngine.GetResourceString("SPS_Err_EmptyTreeDefinition"), null));
                }
            }
        }
        /// <summary>
        /// Gets the calendar items.
        /// </summary>
        /// <returns>CalendarItemCollection</returns>
        private SPSTreeXML GetTreeXML()
        {
            XmlSerializer serializer = new XmlSerializer(typeof(SPSTreeXML));

            if (!string.IsNullOrEmpty(Xsl))
            {
                try
                {
                    TextReader reader     = new StringReader(Xsl);
                    SPSTreeXML collection = (SPSTreeXML)serializer.Deserialize(reader);
                    return(collection);
                }
                catch (InvalidOperationException ex)
                {
                    TrapSubsystemError(this, new SPSErrorArgs(ex.TargetSite.Name,
                                                              SPSRollUpEngine.GetResourceString("SPS_Err_InvalidXMLTree"),
                                                              ex));
                }
            }
            return(null);
        }