internal void InitializeDatabase(string connectionName, Dictionary <string, Database> databases) { DatabaseInitializationResult dir = DatabaseInitializers.TryInitialize(connectionName); if (dir.Success) { databases.AddMissing(connectionName, dir.Database); } else { if (FallBack != null && !TriedFallback.Contains(connectionName)) { TriedFallback.Add(connectionName); FallBack(connectionName, databases); InitializeDatabase(connectionName, databases); } else { throw dir.Exception; } } }