protected void SetNonPublishedAttribute(ref XmlTreeNode treeElement, Document dd)
 {
     treeElement.NotPublished = false;
     if (dd.Published)
     {
         //if (Math.Round(new TimeSpan(dd.UpdateDate.Ticks - dd.VersionDate.Ticks).TotalSeconds, 0) > 1)
         //    treeElement.NotPublished = true;
         treeElement.NotPublished = dd.HasPendingChanges();
     }
     else
         treeElement.NotPublished = true;
 }
        /// <summary>
        /// Creates an XmlTreeNode based on the passed in Document
        /// </summary>
        /// <param name="dd"></param>
        /// <param name="allowedUserOptions"></param>
        /// <returns></returns>
        protected XmlTreeNode CreateNode(Document dd, List<IAction> allowedUserOptions)
        {
            XmlTreeNode node = XmlTreeNode.Create(this);
            SetMenuAttribute(ref node, allowedUserOptions);
            node.NodeID = dd.Id.ToString();
            node.Text = dd.Text;
            SetNonPublishedAttribute(ref node, dd);
            SetProtectedAttribute(ref node, dd);
            SetActionAttribute(ref node, dd);
            SetSourcesAttributes(ref node, dd);
            if (dd.ContentTypeIcon != null)
            {
                node.Icon = dd.ContentTypeIcon;
                node.OpenIcon = dd.ContentTypeIcon;
            }

            if (dd.HasPublishedVersion() == false)
                node.Style.DimNode();

            if (dd.HasPendingChanges())
                node.Style.HighlightNode();

            return node;
        }