private Function> namesRoleService = (launchJwt) -> { NamesRoleService namesRoleService = launchJwt.getNamesRoleService(); if (Objects.nonNull(namesRoleService) && StringUtils.isNotBlank(namesRoleService.getContextMembershipsUrl())) { String contextUrl = namesRoleService.getContextMembershipsUrl(); return configurationClient.getPlatformAccessToken(constructAuthInfo(launchJwt)) .flatMap(oAuth2AccessToken -> namesAndRolesClient.getNamesAndRolesInfo(contextUrl, oAuth2AccessToken.getValue())); } return Mono.empty(); }; private Function> contextClaimService = (launchJwt) -> { if (Objects.nonNull(launchJwt.getContext())) { NamesRoleResponse namesRoleResponse = new NamesRoleResponse(); namesRoleResponse.setMembers(new ArrayList()); namesRoleResponse.setContext(constructCourseContext(launchJwt)); return Mono.just(namesRoleResponse); } return Mono.empty(); }; // if teacher private List>> namesRolesResponseSources = List.of(namesRoleService, contextClaimService); // if student // private List>> namesRolesResponseSources = List.of(contextClaimService, namesRoleService);