code: public static <T extends StatefulConnection<?, ?>> SoftReferenceObjectPool<T> createSoftReferenceObjectPool(
              Supplier<T> connectionSupplier) {
          return createSoftReferenceObjectPool(connectionSupplier, true);
      }
docs: Creates a new {@link SoftReferenceObjectPool} using the {@link Supplier}. Allocated instances are wrapped and must not be
  returned with {@link ObjectPool#returnObject(Object)}.
  
  @param connectionSupplier must not be {@literal null}.
  @param <T> connection type.
  @return the connection pool.