class ServiceLoaderExt {

    public Optional<S> findFirst() {
        return serviceLoader.stream()
            .map(ServiceLoader.Provider::get)
            .findFirst();
    }

    private  ServiceLoaderExt(ServiceLoader<S> serviceLoader);

}