class RemoteAccountInformationService implements AccountInformationService {

    @Override
    public Response<TransactionsResponse200Json> getTransactionList(
        String accountId,
        RequestHeaders requestHeaders,
        RequestParams requestParams
    ) {
        if (!requestHeaders.isAcceptJson()) {
            throw new NotAcceptableException(
                "Unsupported accept type: " + requestHeaders.get(RequestHeaders.ACCEPT)
            );
        }
        ResponseEntity<String> responseEntity = getTransactionListFromClient(
            accountId,
            requestParams,
            requestHeaders
        );
        TransactionsResponse200Json transactionsResponse = null;
        try {
            transactionsResponse = objectMapper.readValue(
                responseEntity.getBody(),
                TransactionsResponse200Json.class
            );
        } catch (IOException e) {
            throw new Xs2aAdapterClientParseException(e);
        }
        return new Response<>(
            responseEntity.getStatusCodeValue(),
            transactionsResponse,
            responseHeadersMapper.getHeaders(responseEntity.getHeaders())
        );
    }

    public  RemoteAccountInformationService(
        AccountInformationClient client, ObjectMapper objectMapper
    );
    public  RemoteAccountInformationService(AccountInformationClient client);

}