class ApplicationPrintPopulator {

    public String print(final Long applicationId,
                        Model model, UserResource user) {

        ApplicationResource application = applicationRestService.getApplicationById(applicationId).getSuccess();
        CompetitionResource competition = competitionRestService.getCompetitionById(application.getCompetition()).getSuccess();
        ApplicationReadOnlySettings settings = defaultSettings()
                .setIncludeAllAssessorFeedback(userCanViewFeedback(user, competition, application));

        ApplicationReadOnlyViewModel applicationReadOnlyViewModel = applicationReadOnlyViewModelPopulator.populate(applicationId, user, settings);
        model.addAttribute("model", applicationReadOnlyViewModel);
        return "application/print";
    }

}