class ConsentController extends AbstractController implements ConsentApi, AccountApi {

    @Override
    public ResponseEntity<StartScaprocessResponse> startConsentAuthorisation(String consentId,
                                                                             Map<String, String> parameters,
                                                                             Map<String, String> headers,
                                                                             ObjectNode body) {
        RequestHeaders requestHeaders = RequestHeaders.fromMap(headers);
        RequestParams requestParams = RequestParams.fromMap(parameters);

        Response<StartScaprocessResponse> response = handleAuthorisationBody(body,
                (UpdatePsuAuthenticationHandler) updatePsuAuthentication ->
                    accountInformationService.startConsentAuthorisation(consentId,
                        requestHeaders,
                        requestParams,
                        updatePsuAuthentication),
                (StartAuthorisationHandler) emptyAuthorisationBody ->
                    accountInformationService.startConsentAuthorisation(consentId, requestHeaders, requestParams));

        return ResponseEntity
                       .status(HttpStatus.CREATED)
                       .headers(headersMapper.toHttpHeaders(response.getHeaders()))
                       .body(response.getBody());
    }

    public  ConsentController(AccountInformationService accountInformationService, ObjectMapper objectMapper, HeadersMapper headersMapper);

}