/// <summary>
        /// Initializes a new instance of the <see cref="DbServerPluginServiceFacade"/> class.
        /// </summary>
        public DbServerPluginServiceFacade(
            IDatabaseServices databases,
            ISnapshotServices snapshots)
        {
            ArgumentChecks.AssertNotNull(databases, nameof(databases));
            ArgumentChecks.AssertNotNull(snapshots, nameof(snapshots));

            this.Databases = databases;
            this.Snapshots = snapshots;
        }
        /// <summary>
        /// Registers a DB server plug-in.
        /// </summary>
        public static void RegisterPlugin(
            string pluginIdentifier,
            IDbServerInfo serverInfo,
            IDatabaseServices databases,
            ISnapshotServices snapshots)
        {
            var plugin = new DbServerPluginInfo(
                pluginIdentifier,
                serverInfo,
                new DbServerPluginServiceFacade(
                    databases,
                    snapshots));

            _dbServerPlugins.Add(plugin);
        }