class ConsentController extends AbstractController implements ConsentApi, AccountApi {

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

        Response<?> response = handleAuthorisationBody(body,
                (UpdatePsuAuthenticationHandler) updatePsuAuthentication ->
                    accountInformationService.updateConsentsPsuData(consentId,
                        authorisationId,
                        requestHeaders,
                        requestParams,
                        updatePsuAuthentication),
                (SelectPsuAuthenticationMethodHandler) selectPsuAuthenticationMethod ->
                    accountInformationService.updateConsentsPsuData(consentId,
                        authorisationId,
                        requestHeaders,
                        requestParams,
                        selectPsuAuthenticationMethod),
                (TransactionAuthorisationHandler) transactionAuthorisation ->
                    accountInformationService.updateConsentsPsuData(consentId,
                        authorisationId,
                        requestHeaders,
                        requestParams,
                        transactionAuthorisation)
        );

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

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

}