@Override
    public void configure(Binder binder) {

        // Bind SQLServer-specific properties with the configured driver.
        switch(sqlServerDriver) {
            case JTDS:
                JdbcHelper.SQL_Server_jTDS.configure(binder);
                break;

            case DATA_DIRECT:
                JdbcHelper.SQL_Server_DataDirect.configure(binder);
                break;

            case MICROSOFT_LEGACY:
                JdbcHelper.SQL_Server_MS_Driver.configure(binder);
                break;

            case MICROSOFT_2005:
                JdbcHelper.SQL_Server_2005_MS_Driver.configure(binder);
                break;

            default:
                throw new UnsupportedOperationException(
                    "A driver has been specified that is not supported by this module."
                );
        }
        
        // Bind MyBatis properties
        Names.bindProperties(binder, myBatisProperties);

        // Bind JDBC driver properties
        binder.bind(Properties.class)
            .annotatedWith(Names.named("JDBC.driverProperties"))
            .toInstance(driverProperties);

    }
Creates a new SQLServer authentication provider module that configures
driver and MyBatis properties using the given environment.

@param environment
    The environment to use when configuring MyBatis and the underlying
    JDBC driver.

@throws GuacamoleException
    If a required property is missing, or an error occurs while parsing
    a property.
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-sqlserver/src/main/java/org/apache/guacamole/auth/sqlserver/SQLServerAuthenticationProviderModule.java