/// <summary>
        ///     Accepts drop of a tree node, in a drag & drop operation
        /// </summary>
        /// <param name="sourceNode"></param>
        public override void AcceptDrop(BaseTreeNode sourceNode)
        {
            base.AcceptDrop(sourceNode);

            if (sourceNode is RangeTreeNode)
            {
                RangeTreeNode rangeTreeNode = sourceNode as RangeTreeNode;
                Range         range         = rangeTreeNode.Item;

                rangeTreeNode.Delete();
                Item.appendRanges(range);
            }
            else if (sourceNode is ParagraphTreeNode)
            {
                ParagraphTreeNode node     = sourceNode as ParagraphTreeNode;
                Paragraph         paragaph = node.Item;

                Range range = Range.CreateDefault(Item.Ranges);
                Item.appendRanges(range);
                range.FindOrCreateReqRef(paragaph);
            }
        }