Add user's roles from external database to jwt token

Hi, everyone
I am getting jwt token of user from remote database with user federation provider, but jwt does not have realm-access
in my own provider i have this method

private UserModel createUserModel(String login, RealmModel realmModel) {

    return new AbstractUserAdapter(keycloakSession, realmModel, componentModel) {

        @Override
        public Set<RoleModel> getRoleMappings() {
            System.out.println("enter in getRoleMappings");
            Set<RoleModel> rolesToAssign = new HashSet<>();
            if (appendDefaultRolesToRoleMappings()) {
                rolesToAssign.addAll(DefaultRoles.getDefaultRoles(realmModel).collect(Collectors.toSet()));
            }
            rolesToAssign.addAll(getRoleMappingsInternal());
            rolesToAssign.add(realmModel.getRole(userService.getAdmin(login).getRole()));
            return rolesToAssign;
        }

        @Override
        public String getUsername() {
            return login;
        }
        @Override
        public String getEmail() {
            System.out.println("enter in getEmail");
            return userService.getAdmin(login).getEmail();
        }

But it does not work. There is field email in jwt, but not realm access
Also there is no “enter in getRoleMappings” in console when i invoke createUserModel method
It looks like programm ignore public Set getRoleMappings()
Thanks for help