/// <summary>
        /// Takes a source project in one instance of the environment and requests for another instances
        /// to create a copy of the project.
        /// </summary>
        /// <param name="projSource"> Original project to copy from </param>
        /// <param name="dteCreateIn"> Object Model to create it in </param>
        /// <param name="strDestFolder"> Output folder </param>
        /// <param name="strDestName"> Output project name </param>
        private EnvDTE.Project CopyProject(EnvDTE.Project projSource, EnvDTE._DTE dteCreateIn, string strDestFolder, string strDestName)
        {
            EnvDTE.Project projDest = null;

            try
            {
                projDest = dteCreateIn.Solution.AddFromTemplate(projSource.FileName, strDestFolder, strDestName, false);

                return(projDest);
            }
            catch (System.Exception e)
            {
                // In the event of errors, make it seem as if 'nothing happened'.
                if (projDest != null)
                {
                    projDest.Delete();
                }
                return(null);
            }
        }