class PaymentController extends AbstractController implements PaymentApi {

    @Override
    public ResponseEntity<PaymentInitationRequestResponse201> initiatePayment(
        PaymentService paymentService,
        PaymentProduct paymentProduct,
        Map<String, String> parameters,
        Map<String, String> headers,
        PeriodicPaymentInitiationMultipartBody body) {

        // multipart request parts passed in the @RequestParam annotated parameter
        // create problems downstream when sent in the outgoing request as query parameters
        for (Field field : body.getClass().getDeclaredFields()) {
            parameters.remove(field.getName());
        }
        return initiatePaymentInternal(paymentService, paymentProduct, parameters, headers, body);
    }

    public  PaymentController(PaymentInitiationService paymentService,
                             HeadersMapper headersMapper,
                             ObjectMapper objectMapper);

}