@Override
    public boolean tryAcquirePermission() {
        boolean callPermitted = tryEnterBulkhead();

        publishBulkheadEvent(
            () -> callPermitted ? new BulkheadOnCallPermittedEvent(name)
                : new BulkheadOnCallRejectedEvent(name)
        );

        return callPermitted;
    }
@Test
    public void testZeroMaxConcurrentCalls() {
        BulkheadConfig config = BulkheadConfig.custom()
            .maxConcurrentCalls(0)
            .maxWaitDuration(Duration.ofMillis(0))
            .build();
        SemaphoreBulkhead bulkhead = new SemaphoreBulkhead("test", config);

        boolean entered = bulkhead.tryAcquirePermission();

        assertThat(entered).isFalse();
    }