class GrantAgreementController {

    @PostMapping(params = "removeGrantAgreement")
    public String removeGrantAgreement(@ModelAttribute(name = MODEL_ATTRIBUTE_FORM) GrantAgreementForm form,
                                       @SuppressWarnings("unused") BindingResult bindingResult,
                                       ValidationHandler validationHandler,
                                       Model model,
                                       @PathVariable long applicationId,
                                       @PathVariable long questionId,
                                       UserResource user) {

        RestResult<Void> sendResult = euGrantTransferRestService
                .deleteGrantAgreement(applicationId);

        Supplier<String> failureAndSuccesView = () -> viewGrantAgreement(form, bindingResult, model, applicationId, questionId, user);

        return validationHandler.addAnyErrors(sendResult.getErrors())
                .failNowOrSucceedWith(failureAndSuccesView, failureAndSuccesView);
    }

    public  GrantAgreementController(GrantAgreementViewModelPopulator grantAgreementViewModelPopulator, EuGrantTransferRestService euGrantTransferRestService, QuestionStatusRestService questionStatusRestService, UserRestService userRestService);

}