public Injector get() throws GuacamoleException {

        // Return existing Injector if already created
        Injector value = injector.get();
        if (value != null)
            return value;

        // Explicitly create and store new Injector only if necessary
        injector.compareAndSet(null, create());

        // Consistently return the same Injector, even if two create operations
        // happen concurrently
        return injector.get();

    }
Returns a common, singleton instance of a Guice Injector, configured for
the injections required by the JDBC authentication extension. The result
of the first call to this function will be cached statically within this
class, and will be returned for all subsequent calls.

@return
    A singleton instance of the Guice Injector used across the entire
    JDBC authentication extension.

@throws GuacamoleException
    If the Injector cannot be created due to an error.
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/JDBCInjectorProvider.java