SemaphoreBulkhead implements Bulkhead { @Override public BulkheadConfig getBulkheadConfig() { return config; } SemaphoreBulkhead(String name, @Nullable BulkheadConfig bulkheadConfig);  SemaphoreBulkhead(String name, @Nullable BulkheadConfig bulkheadConfig,
        Map<String, String> tags);  SemaphoreBulkhead(String name);  SemaphoreBulkhead(String name, Supplier<BulkheadConfig> configSupplier);  SemaphoreBulkhead(String name, Supplier<BulkheadConfig> configSupplier,
        Map<String, String> tags); @Override void changeConfig(final BulkheadConfig newConfig); @Override boolean tryAcquirePermission(); @Override void acquirePermission(); @Override void releasePermission(); @Override void onComplete(); @Override String getName(); @Override BulkheadConfig getBulkheadConfig(); @Override Metrics getMetrics(); @Override Map<String, String> getTags(); @Override EventPublisher getEventPublisher(); @Override String toString();  }
@Test public void testCreateWithDefaults() { Bulkhead bulkhead = Bulkhead.ofDefaults("test"); assertThat(bulkhead).isNotNull(); assertThat(bulkhead.getBulkheadConfig()).isNotNull(); assertThat(bulkhead.getBulkheadConfig().getMaxConcurrentCalls()) .isEqualTo(DEFAULT_MAX_CONCURRENT_CALLS); assertThat(bulkhead.getBulkheadConfig().isWritableStackTraceEnabled()) .isEqualTo(DEFAULT_WRITABLE_STACK_TRACE_ENABLED); assertThat(bulkhead.getBulkheadConfig().isFairCallHandlingEnabled()) .isEqualTo(DEFAULT_FAIR_CALL_HANDLING_STRATEGY_ENABLED); }