@Override
            void enter() {
                this.future = futureSupplier.get();

                future.whenComplete((connectionFactory, e) -> {
                    if (e != null) {
                        actual.onSubscribe(EmptySubscription.INSTANCE);
                        actual.onError(e);
                        return;
                    }

                    Publisher<? extends Connection> publisher = connectionFactory.create();
                    transitionTo(new ProxySubscriptionState(publisher));
                });
            }
Design notes:
- ConnectionPublisher is Mono-like (0..1), the request amount is ignored
- given the testing nature, the performance requirements are less strict
- "synchronized" is used to avoid races
- Reactive Streams spec violations are not checked (e.g. non-positive request)
modules/r2dbc/src/main/java/org/testcontainers/r2dbc/ConnectionPublisher.java