code: @Override
      public void refresh() {
  		try {
              _roles.clear();
  
  			List<Permission> permissions = new ArrayList<Permission>();
  			String name = null;
  			for (Permission auth: _authority.loadRolesAndPermissions()) {
  				if (name != null && !name.equals(auth.roleId)) {
  					_logger.fine(name + " with " + permissions.size() + " authorizations");
  					_roles.put(name, permissions.toArray(new Permission[permissions.size()]));
  					permissions.clear();
  				}
  				name = auth.roleId;
  				permissions.add(auth);
  			}
  			if (name != null) {
  				_logger.fine(name + " with " + permissions.size() + " authorizations");
  				_roles.put(name, permissions.toArray(new Permission[permissions.size()]));
  			}
  
  			_logger.info("Completed loading all roles & permissions");
  		} catch (Exception x) {
  			throw new ServiceException("***FailureInLoadingRoles", x);
  		}
      }
docs: (Re)loads all roles and permissions into memory.