public void sendMessage(M message, MessageHeaders headers) {
        this.sendMessage(responseTopic, message, headers);
    }
@Test
    public void testMessagePostProcessingHeaders() throws JMSException {
        AfnemersberichtAanDGL afnemersberichtAanDGL = new AfnemersberichtAanDGL();

        Map<String, Object> headers = new HashMap<>();
        headers.put("header1", "header1 value");
        headers.put("header2", "header2 value");
        MessageHeaders messageHeaders = new MessageHeaders(headers);

        afnemersberichtAanDGLSender.sendMessage(afnemersberichtAanDGL, messageHeaders);

        ArgumentCaptor<MessagePostProcessor> messagePostProcessorCaptor = ArgumentCaptor.forClass(MessagePostProcessor.class);
        Mockito.verify(jmsTemplateMock).convertAndSend(nullable(String.class), nullable(String.class), messagePostProcessorCaptor.capture());

        MessagePostProcessor value = messagePostProcessorCaptor.getValue();
        javax.jms.Message mockMessage = Mockito.mock(javax.jms.Message.class);
        value.postProcessMessage(mockMessage);

        ArgumentCaptor<String> keyCaptor = ArgumentCaptor.forClass(String.class);
        ArgumentCaptor<String> valueCaptor = ArgumentCaptor.forClass(String.class);
        Mockito.verify(mockMessage, times(4)).setStringProperty(keyCaptor.capture(), valueCaptor.capture());

        assertThat(keyCaptor.getAllValues().get(1), is("header1"));
        assertThat(valueCaptor.getAllValues().get(1), is("header1 value"));
        assertThat(keyCaptor.getAllValues().get(0), is("header2"));
        assertThat(valueCaptor.getAllValues().get(0), is("header2 value"));

    }