/// <summary>
        /// Initializes a new instance of the ObjectBasedEnvironment class.
        /// </summary>
        /// <param name="sourceCodeFactory">
        /// Callback which is used to create <see cref="SourceCode"/> objects on demand.
        /// </param>
        /// <param name="settingsFactory">
        /// Optional callback which is used to create <see cref="Settings"/> objects on demand.
        /// </param>
        public ObjectBasedEnvironment(SourceCodeFactory sourceCodeFactory, ProjectSettingsFactory settingsFactory)
        {
            Param.RequireNotNull(sourceCodeFactory, "sourceCodeFactory");
            Param.Ignore(settingsFactory);

            this.sourceCodeFactory = sourceCodeFactory;
            this.settingsFactory   = settingsFactory;
        }
        /// <summary>
        /// Initializes a new instance of the ObjectBasedEnvironment class.
        /// </summary>
        /// <param name="sourceCodeFactory">
        /// Callback which is used to create <see cref="SourceCode"/> objects on demand.
        /// </param>
        /// <param name="settingsFactory">
        /// Optional callback which is used to create <see cref="Settings"/> objects on demand.
        /// </param>
        public ObjectBasedEnvironment(SourceCodeFactory sourceCodeFactory, ProjectSettingsFactory settingsFactory)
        {
            Param.RequireNotNull(sourceCodeFactory, "sourceCodeFactory");
            Param.Ignore(settingsFactory);

            this.sourceCodeFactory = sourceCodeFactory;
            this.settingsFactory = settingsFactory;
        }