@Test
public void startForwarderActorWithDuplicateCorrelationId() {

    final AcknowledgementLabel customAckLabel = AcknowledgementLabel.of("my-ack");
    final String correlationId = testName.getMethodName();
    final DittoHeaders dittoHeaders = DittoHeaders.newBuilder()
            .correlationId(correlationId)
            .acknowledgementRequest(AcknowledgementRequest.of(DittoAcknowledgementLabel.TWIN_PERSISTED),
                    AcknowledgementRequest.of(customAckLabel))
            .build();
    final AcknowledgementRequestDuplicateCorrelationIdException expectedException =
            AcknowledgementRequestDuplicateCorrelationIdException.newBuilder(correlationId)
                    .dittoHeaders(dittoHeaders)
                    .build();
    final Acknowledgement expectedNack = Acknowledgement.of(customAckLabel, KNOWN_ENTITY_ID,
            HttpStatusCode.CONFLICT, dittoHeaders, expectedException.toJson());
    final AcknowledgementForwarderActorStarter underTest = getActorStarter(dittoHeaders);
    new TestKit(actorSystem) {{
        softly.assertThat(underTest.get()).as("first start").isPresent();
        testProbe.expectNoMessage(FiniteDuration.apply(200, TimeUnit.MILLISECONDS));
        // Causes conflict in actor name as actor with same name was already started and not yet stopped.
        softly.assertThat(underTest.get()).as("second start").isNotPresent();
        final Acknowledgement firstNack = testProbe.expectMsgClass(Acknowledgement.class);
        // Ditto built-in labels got filtered out.
        expectNoMessage();
        softly.assertThat(firstNack).isEqualTo(expectedNack);
    }};
}