code: public LDAPUserContext getUserContext(AuthenticatedUser authenticatedUser)
              throws GuacamoleException {
  
          // Bind using credentials associated with AuthenticatedUser
          Credentials credentials = authenticatedUser.getCredentials();
          LDAPConnection ldapConnection = bindAs(credentials);
          if (ldapConnection == null)
              return null;
  
          try {
  
              // Build user context by querying LDAP
              LDAPUserContext userContext = userContextProvider.get();
              userContext.init(authenticatedUser, ldapConnection);
              return userContext;
  
          }
  
          // Always disconnect
          finally {
              ldapService.disconnect(ldapConnection);
          }
  
      }
docs: Returns a UserContext object initialized with data accessible to the
  given AuthenticatedUser.
  
  @param authenticatedUser
  The AuthenticatedUser to retrieve data for.
  
  @return
  A UserContext object initialized with data accessible to the given
  AuthenticatedUser.
  
  @throws GuacamoleException
  If the UserContext cannot be created due to an error.