class AssessorProfileSkillsModelPopulator {

    public AssessorProfileSkillsViewModel populateModel(UserResource user, ProfileResource profile, Optional<Long> competitionId, boolean compAdminUser) {

        CompetitionResource competition = competitionId.map(id -> competitionRestService.getCompetitionById(id).getSuccess())
                .orElse(null);

        AssessorProfileDetailsViewModel assessorProfileDetailsViewModel = getAssessorProfileDetails(user, profile);

        return new AssessorProfileSkillsViewModel(
                competition,
                assessorProfileDetailsViewModel,
                getInnovationAreasSectorMap(profile.getInnovationAreas()),
                profile.getSkillsAreas(),
                compAdminUser
        );
    }

    public  AssessorProfileSkillsModelPopulator(AssessorProfileDetailsModelPopulator assessorProfileDetailsModelPopulator,
                                               CompetitionRestService competitionRestService);

}