/// <summary>
        ///     Clones this instance.
        /// </summary>
        /// <returns></returns>
        public IDatabase Clone()
        {
            var db = new DefaultDatabaseAccess(ConnectionController);

            db.Attach((IDatabaseStrategy)Strategy.Clone());
            return(db);
        }
        /// <summary>
        ///     Creates the specified strategy.
        /// </summary>
        /// <param name="strategy">The strategy.</param>
        /// <returns></returns>
        public static DefaultDatabaseAccess Create(IDatabaseStrategy strategy)
        {
            if (null == strategy)
            {
                return(null);
            }

            var db = new DefaultDatabaseAccess(new InstanceConnectionController());

            db.Attach(strategy);
            return(db);
        }