/// <summary>
        /// Uses an existing or creates and returns a new instance of the <see cref="FluentApiFactoryOptions"/>
        /// class after setting the <see cref="FluentApiFactory.Options"/> property value.
        /// </summary>
        /// <param name="overwrite">true to overwrite any previously-built existing assembly file; otherwise, false.</param>
        /// <returns></returns>
        public FluentApiFactoryOptions WithOptions(bool?overwrite = null)
        {
            CheckDisposed();

            if (_options == null)
            {
                _options = new FluentApiFactoryOptions(this);
            }

            FluentApiFactory.Options = _options;

            if (overwrite.HasValue)
            {
                _options.SetOverwriteExisting(overwrite.Value);
            }

            return(_options);
        }
 /// <summary>
 /// Reset the <see cref="FluentApiFactory.Options"/> property value with
 /// a new instance of the <see cref="FluentApiFactoryOptions"/> class.
 /// </summary>
 /// <param name="overwrite">true to overwrite any previously-built existing assembly file; otherwise, false.</param>
 /// <returns></returns>
 public FluentApiFactoryConfig WithDefaultOptions(bool overwrite = false)
 {
     CheckDisposed();
     _options = FluentApiFactory.Options = new FluentApiFactoryOptions(this).SetOverwriteExisting(overwrite);
     return(this);
 }
 /// <summary>
 /// Set the <see cref="FluentApiFactory.Options"/> property value.
 /// </summary>
 /// <param name="options">The options to use.</param>
 /// <returns></returns>
 public FluentApiFactoryConfig WithOptions(FluentApiFactoryOptions options)
 {
     CheckDisposed();
     _options = FluentApiFactory.Options = options.NotNull(nameof(options));
     return(this);
 }