/// <summary>
        /// Create and initialize a queue composer from the given inputs
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="items"></param>
        /// <param name="separator"></param>
        /// <returns></returns>
        public static QueueTextComposer ComposeToQueue <T>(this IEnumerable <T> items, string separator)
        {
            var composer = new QueueTextComposer()
            {
                Separator = separator
            };

            return(composer.EnqueueRange(items));
        }
        /// <summary>
        /// Create and initialize a queue composer from the given inputs
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="items"></param>
        /// <param name="separator"></param>
        /// <param name="finalPrefix"></param>
        /// <param name="finalSuffix"></param>
        /// <returns></returns>
        public static QueueTextComposer ComposeToQueue <T>(this IEnumerable <T> items, string separator, string finalPrefix, string finalSuffix)
        {
            var composer = new QueueTextComposer()
            {
                Separator   = separator,
                FinalPrefix = finalPrefix,
                FinalSuffix = finalSuffix
            };

            return(composer.EnqueueRange(items));
        }
        /// <summary>
        /// Create and initialize a queue composer from the given inputs
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="items"></param>
        /// <returns></returns>
        public static QueueTextComposer ComposeToQueue <T>(this IEnumerable <T> items)
        {
            var composer = new QueueTextComposer();

            return(composer.EnqueueRange(items));
        }
        /// <summary>
        /// Create and initialize a queue composer from the given inputs
        /// </summary>
        /// <param name="items"></param>
        /// <returns></returns>
        public static QueueTextComposer ComposeToQueue(this IEnumerable <StructuredTextItem> items)
        {
            var composer = new QueueTextComposer();

            return(composer.EnqueueRange(items));
        }