/// <summary>
 /// Constructor
 /// </summary>
 /// <param name="item"></param>
 protected ReferencesParagraphTreeNode(T item, string name = null, bool isFolder = false, bool addRequirements = true)
     : base(item, name, isFolder)
 {
     HandleRequirements = true;
     if (addRequirements && item.Requirements.Count > 0)
     {
         ReqReferences = new ReqRefsTreeNode(item);
         Nodes.Add(ReqReferences);
     }
 }
        /// <summary>
        /// Handles a drop event
        /// </summary>
        /// <param name="SourceNode"></param>
        public override void AcceptDrop(BaseTreeNode SourceNode)
        {
            base.AcceptDrop(SourceNode);

            if (SourceNode is SpecificationView.ParagraphTreeNode)
            {
                if (HandleRequirements && ReqReferences == null)
                {
                    ReqReferences = new ReqRefsTreeNode(Item);
                    Nodes.Add(ReqReferences);
                }

                if (ReqReferences != null)
                {
                    SpecificationView.ParagraphTreeNode paragraphTreeNode = (SpecificationView.ParagraphTreeNode)SourceNode;
                    ReqReferences.CreateReqRef(paragraphTreeNode.Item.FullId);
                }
            }
        }