/// <summary>
        /// Create a new CC if not already in one.
        /// </summary>
        /// <param name="controlType"></param>
        /// <param name="docx"></param>
        /// <param name="selection"></param>
        /// <returns></returns>
        public static Word.ContentControl MakeOrReuse(bool tryToReuse, Word.WdContentControlType controlType, 
            Word.Document docx, Word.Selection selection)
        {
            // step 1: create content control, if necessary
            // are we in a content control?
            Word.ContentControl cc = null;
            if (tryToReuse)
            {
                cc = ContentControlMaker.getActiveContentControl(docx, selection);
            }
            object missing = System.Type.Missing;
            if (cc == null)
            {
                // Add one
                cc = docx.ContentControls.Add(controlType, ref missing);
                cc.Title = "[New]";
            }
            else
            {
                // we're in a content control already.
                // Have they selected all of it?
                // If so, is this add or re-map?
                if (controlType.Equals(Word.WdContentControlType.wdContentControlRichText))
                {
                    cc.XMLMapping.Delete();
                }
                cc.Type = controlType;
            }

            return cc;
        }