code: @Override
  	public PrincipalUser getUser(String username, String password) {
  		requireNotDisposed();
  
  		PrincipalUser result = _userService.findUserByUsername(username);
  		String isPrivileged= _config.getValue(Property.IS_PRIVILEGED.getName(), Property.IS_PRIVILEGED.getDefaultValue());
  
  		if(result == null){
  			result = new PrincipalUser(_userService.findAdminUser(), username, username+"@gmail.com");
  		}
                  DAILY_USERS.put(username, System.currentTimeMillis());
                  MONTHLY_USERS.put(username, System.currentTimeMillis());
                  _monitorService.updateCounter(MonitorService.Counter.DAILY_USERS, DAILY_USERS.size(), new HashMap<>(0));
                  _monitorService.updateCounter(MonitorService.Counter.MONTHLY_USERS, MONTHLY_USERS.size(), new HashMap<>(0));
  		_monitorService.updateCounter(MonitorService.Counter.UNIQUE_USERS, _userService.getUniqueUserCount(), new HashMap<String, String>(0));
  
  		try{
  			Method method = PrincipalUser.class.getDeclaredMethod("setPrivileged", boolean.class);
  			method.setAccessible(true);
  			method.invoke(result, Boolean.parseBoolean(isPrivileged));
  
  		} catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
  			throw new SystemException("Failed to change privileged status.", e);
  		}
  
  		result = _userService.updateUser(result);
  		return result;
  	}
docs: ~ Methods **************************************************************************************************************************************