public void init(AuthenticationProvider authProvider, RemoteAuthenticatedUser user) {

        // Associate the originating authentication provider
        this.authProvider = authProvider;

        // Provide access to all connections shared with the given user
        this.connectionDirectory.init(user);

        // The connection group directory contains only the root group
        this.rootGroup = new SharedRootConnectionGroup(this);

        // Create internal pseudo-account representing the authenticated user
        this.self = new SharedUser(user, this);

    }
Creates a new SharedUserContext which provides access ONLY to the given
user, the SharedConnections associated with the share keys used by that
user, and an internal root connection group containing only those
SharedConnections.

@param authProvider
    The AuthenticationProvider that created this
    SharedUserContext;

@param user
    The RemoteAuthenticatedUser for whom this SharedUserContext is being
    created.
extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/sharing/user/SharedUserContext.java