internal bool CanAppend(CodeCommentPhrase other, bool indented)
        {
            if (other == null)
            {
                return true;
            }

            if (other.IsList && !IsEmpty && !OnOwnLine)
            {
                return false;
            }

            if (OnOwnLine || other.OnOwnLine)
            {
                return false;
            }

            if (IsList && !indented)
            {
                return false;
            }

            return true;
        }
        public CodeCommentPhrase Append(CodeCommentPhrase other)
        {
            if (other == null)
            {
                return this;
            }

            if (other.IsList)
            {
                if (!IsEmpty || IsList)
                {
                    Debug.Fail("Appending a phrase that is a list to an existing phrase is most likely wrong.");
                }
                else
                {
                    ListPrefix = other.ListPrefix;
                }
            }

            AppendWords(other.Words);

            return this;
        }