/// <summary>
        /// Copy constructor -- this constructor is invoked to make a new copy of the (static) Default GetInterviewOptions
        /// (as originally read from web.config).
        /// </summary>
        /// <param name="source">The source settings to copy.</param>
        private InterviewSettings(InterviewSettings source)
        {
            // Copy the four required settings.
            PostInterviewUrl    = source.PostInterviewUrl;
            InterviewRuntimeUrl = source.InterviewRuntimeUrl;
            StyleSheetUrl       = source.StyleSheetUrl;
            InterviewFilesUrl   = source.InterviewFilesUrl;

            // Copy the rest of the (optional) interview settings.
            DocumentPreviewUrl       = source.DocumentPreviewUrl;
            SaveAnswersUrl           = source.SaveAnswersUrl;
            AnswerFileDataServiceUrl = source.AnswerFileDataServiceUrl;
            if (source.CustomDataSources != null)
            {
                CustomDataSources = new Dictionary <string, string>(source.CustomDataSources, StringComparer.OrdinalIgnoreCase);
            }

            AddHdMainDiv           = source.AddHdMainDiv;
            RoundTripUnusedAnswers = source.RoundTripUnusedAnswers;

            Format                 = source.Format;
            ThemeName              = source.ThemeName;
            Title                  = source.Title;
            Locale                 = source.Locale;
            NextFollowsOutline     = source.NextFollowsOutline;
            ShowAllResourceButtons = source.ShowAllResourceButtons;
            DisableDocumentPreview = source.DisableDocumentPreview;
            DisableSaveAnswers     = source.DisableSaveAnswers;
            DisableAnswerSummary   = source.DisableAnswerSummary;
            AnswerSummary          = new AnswerSummaryOptions(source.AnswerSummary);

            DefaultUnansweredFormat  = source.DefaultUnansweredFormat;
            HonorCmpUnansweredFormat = source.HonorCmpUnansweredFormat;
            DefaultDateFormat        = source.DefaultDateFormat;
        }
        /// <summary>
        /// Copy constructor -- this constructor is invoked to make a new copy of the (static) Default GetInterviewOptions
        /// (as originally read from web.config).
        /// </summary>
        /// <param name="source">The source settings to copy.</param>
        private InterviewSettings(InterviewSettings source)
        {
            // Copy the four required settings.
            PostInterviewUrl = source.PostInterviewUrl;
            InterviewRuntimeUrl = source.InterviewRuntimeUrl;
            StyleSheetUrl = source.StyleSheetUrl;
            InterviewFilesUrl = source.InterviewFilesUrl;

            // Copy the rest of the (optional) interview settings.
            DocumentPreviewUrl = source.DocumentPreviewUrl;
            SaveAnswersUrl = source.SaveAnswersUrl;
            AnswerFileDataServiceUrl = source.AnswerFileDataServiceUrl;
            if (source.CustomDataSources != null)
                CustomDataSources = new Dictionary<string, string>(source.CustomDataSources, StringComparer.OrdinalIgnoreCase);

            AddHdMainDiv = source.AddHdMainDiv;
            RoundTripUnusedAnswers = source.RoundTripUnusedAnswers;

            Format = source.Format;
            ThemeName = source.ThemeName;
            Title = source.Title;
            Locale = source.Locale;
            NextFollowsOutline = source.NextFollowsOutline;
            ShowAllResourceButtons = source.ShowAllResourceButtons;
            DisableDocumentPreview = source.DisableDocumentPreview;
            DisableSaveAnswers = source.DisableSaveAnswers;
            DisableAnswerSummary = source.DisableAnswerSummary;
            AnswerSummary = new AnswerSummaryOptions(source.AnswerSummary);

            DefaultUnansweredFormat = source.DefaultUnansweredFormat;
            HonorCmpUnansweredFormat = source.HonorCmpUnansweredFormat;
            DefaultDateFormat = source.DefaultDateFormat;
        }