@Override
    public UserContext decorate(UserContext context,
            AuthenticatedUser authenticatedUser, Credentials credentials)
            throws GuacamoleException {
        return authProviderService.decorateUserContext(this, context,
                authenticatedUser, credentials);
    }
Creates a new AuthenticationProvider that delegates all calls to an
underlying AuthenticationProviderService. The behavior of the
AuthenticationProvider is defined by the given
AuthenticationProviderService implementation, which will be injected by
the Guice Injector provided by the given JDBCInjectorProvider.

@param injectorProvider
    A JDBCInjectorProvider instance which provides singleton instances
    of a Guice Injector, pre-configured to set up all injections and
    access to the underlying database via MyBatis.

@param authProviderServiceClass
   The AuthenticationProviderService implementation which defines the
   behavior of this AuthenticationProvider.

@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/InjectedAuthenticationProvider.java