public EphemeralDatabaseRegistration(string name, IEphemeralDatabaseInitializer initializer)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw new ArgumentException("a name is required");
     }
     Name        = name;
     Initializer = initializer;
 }
        public IEphemeralDatabase RegisterDatabase(string name, IEphemeralDatabaseInitializer initializer = null)
        {
            if (_databases.IsReadOnly)
            {
                throw new InvalidOperationException("cannot add database after configuration has been frozen");
            }
            var db = new EphemeralDatabaseRegistration(name, initializer);

            _databases.Add(db);
            return(db.CompletionSource);
        }