/// <summary>
        /// Reads the building blocks for a category and creates a <see cref="LayoutInformation"/> object from them.
        /// </summary>
        /// <param name="document">The document to be used to temporarily insert the building blocks so they can be scanned for content control tags.</param>
        /// <param name="category">The category to read from.</param>
        /// <returns>The layout.</returns>
        private LayoutInformation GetLayoutForCategory(IWordDocument document, string category)
        {
            IEnumerable <BuildingBlock>     blocks     = this.wordTemplate.EnumerateBuildingBlocksForCategory(category);
            IEnumerable <BuildingBlockInfo> blocksInfo = blocks.Select(block => document.ReadBuildingBlockInfo(block));

            return(this.CreateLayout(category, blocks, blocksInfo));
        }