/// <summary>
        /// Shows the read me.
        /// </summary>
        /// <param name="function">The function.</param>
        /// <param name="messages">The messages.</param>
        /// <param name="closeDocuments">if set to <c>true</c> [close documents].</param>
        /// <param name="collapseSolution">if set to <c>true</c> [collapse solution].</param>
        protected void ShowReadMe(
            string function,
            IEnumerable <string> messages,
            bool closeDocuments   = true,
            bool collapseSolution = true)
        {
            TraceService.WriteLine("BaseController::ShowReadMe " + function);

            //// close any open documents.
            if (closeDocuments)
            {
                this.VisualStudioService.DTE2.CloseDocuments();
            }

            //// now collapse the solution!
            if (collapseSolution)
            {
                this.VisualStudioService.DTE2.CollapseSolution();
            }

            Solution2 solution2 = this.VisualStudioService.DTE2.GetSolution() as Solution2;

            string readeMePath = this.GetReadMePath();

            //// now construct the ReadMe.txt
            this.ReadMeLines.AddRange(messages);
            this.ReadMeService.AddLines(readeMePath, function, this.ReadMeLines);

            //// now show the ReadMe.txt.
            ProjectItem projectItem = solution2.AddSolutionItem("Solution Items", readeMePath);

            if (projectItem != null)
            {
                projectItem.Open();
            }
            else
            {
                TraceService.WriteError("BaseController::ShowReadMe Cannot open file :-" + readeMePath);
            }
        }