public async Task<IConnection> GetAsync()
 {
     var connection = new Connection();
     connection.EndPoints = EndPoints;
     if (Logger != null)
         connection.Logger = Logger;
     if (ConnectTimeout.HasValue)
         connection.ConnectTimeout = ConnectTimeout.Value;
     if (!string.IsNullOrEmpty(AuthorizationKey))
         connection.AuthorizationKey = AuthorizationKey;
     await connection.ConnectAsync();
     return connection;
 }
        public async Task<IConnection> GetAsync()
        {
            var connection = new Connection();

            connection.QueryConverter = new QueryConverter(new NewtonSerializer(), new RethinkDb.Expressions.DefaultExpressionConverterFactory());

            connection.EndPoints = EndPoints;
            if (Logger != null)
                connection.Logger = Logger;
            if (ConnectTimeout.HasValue)
                connection.ConnectTimeout = ConnectTimeout.Value;
            if (!string.IsNullOrEmpty(AuthorizationKey))
                connection.AuthorizationKey = AuthorizationKey;
            await connection.ConnectAsync();
            return connection;
        }