class AcknowledgementForwarderActorStarter implements Supplier<Optional<ActorRef>> {

    @Override
    public Optional<ActorRef> get() {
        ActorRef actorRef = null;
        if (hasEffectiveAckRequests(signal)) {
            try {
                actorRef = startAckForwarderActor(dittoHeaders);
            } catch (final InvalidActorNameException e) {
                // In case that the actor with that name already existed, the correlation-id was already used recently:
                declineAllNonDittoAckRequests(getDuplicateCorrelationIdException(e));
            }
        }
        return Optional.ofNullable(actorRef);
    }

    private  AcknowledgementForwarderActorStarter(final ActorContext context,
            final EntityIdWithType entityId,
            final Signal<?> signal,
            final AcknowledgementConfig acknowledgementConfig);

}