public static __MySQLConnectionStringBuilder InterlockedInternalGetConnectionString(
            string key,
            __MySQLConnectionStringBuilder value = null
            )
        {
            if (value != null)
            {
                lookup[key] = value;
            }

            return lookup[key];
        }
        public static __MySQLConnectionStringBuilder InterlockedInternalGetConnectionString(
            string key,
            __MySQLConnectionStringBuilder value = null
            )
        {
            if (value != null)
            {
                lookup[key] = value;
            }

            return(lookup[key]);
        }
        public __MySQLConnection(string connectionstring)
        {
            //Console.WriteLine("__SQLiteConnection ctor " + new { connectionstring });


            // should parse instead
            this.InternalConnectionString = __MySQLConnectionStringBuilder.InternalGetConnectionString(connectionstring);

            if (this.InternalConnectionString == null)
                throw new InvalidOperationException("make sure to use new __SQLiteConnection(SQLiteConnectionStringBuilder)");

            ConnectionString = connectionstring;
        }
        public __MySQLConnection(string connectionstring)
        {
            //Console.WriteLine("__SQLiteConnection ctor " + new { connectionstring });


            // should parse instead
            this.InternalConnectionString = __MySQLConnectionStringBuilder.InternalGetConnectionString(connectionstring);

            if (this.InternalConnectionString == null)
            {
                throw new InvalidOperationException("make sure to use new __SQLiteConnection(SQLiteConnectionStringBuilder)");
            }

            ConnectionString = connectionstring;
        }