Code review comment: is it correct? providers provided by `pojoCodecProviderBuilder` will be registered  after `defaultCodecRegistry`- this will be the same situation as it was with custom providers :(

Code under review:
private void configureCodecRegistry(CodecRegistry defaultCodecRegistry, MongoClientSettings.Builder settings) {
        List<CodecProvider> providers = new ArrayList<>();
        if (!mongoClientSupport.getCodecProviders().isEmpty()) {
            providers.addAll(getCodecProviders(mongoClientSupport.getCodecProviders()));
        }
        
        
        PojoCodecProvider.Builder pojoCodecProviderBuilder = PojoCodecProvider.builder()
                .automatic(true)
                .conventions(Conventions.DEFAULT_CONVENTIONS);
        
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        for (String bsonDiscriminator : mongoClientSupport.getBsonDiscriminators()) {
            try {
                pojoCodecProviderBuilder
                        .register(ClassModel.builder(Class.forName(bsonDiscriminator, true, classLoader))
                                .enableDiscriminator(true).build());
            } catch (ClassNotFoundException e) {
                
            }
        }
        
        if (!mongoClientSupport.getPropertyCodecProviders().isEmpty()) {
            pojoCodecProviderBuilder.register(getPropertyCodecProviders(mongoClientSupport.getPropertyCodecProviders())
                    .toArray(new PropertyCodecProvider[0]));
        }
        CodecRegistry registry = !providers.isEmpty() ?
                fromRegistries(fromProviders(providers), defaultCodecRegistry,
                        fromProviders(pojoCodecProviderBuilder.build())) :
                fromRegistries(defaultCodecRegistry, fromProviders(pojoCodecProviderBuilder.build()));
        settings.codecRegistry(registry);
    }

Line commented on: fromRegistries(defaultCodecRegistry, fromProviders(pojoCodecProviderBuilder.build()));

Revised code:
private void configureCodecRegistry(CodecRegistry defaultCodecRegistry, MongoClientSettings.Builder settings) {
        List<CodecProvider> providers = new ArrayList<>();
        if (!mongoClientSupport.getCodecProviders().isEmpty()) {
            providers.addAll(getCodecProviders(mongoClientSupport.getCodecProviders()));
        }
        
        
        PojoCodecProvider.Builder pojoCodecProviderBuilder = PojoCodecProvider.builder()
                .automatic(true)
                .conventions(Conventions.DEFAULT_CONVENTIONS);
        
        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        for (String bsonDiscriminator : mongoClientSupport.getBsonDiscriminators()) {
            try {
                pojoCodecProviderBuilder
                        .register(ClassModel.builder(Class.forName(bsonDiscriminator, true, classLoader))
                                .enableDiscriminator(true).build());
            } catch (ClassNotFoundException e) {
                
            }
        }
        
        if (!mongoClientSupport.getPropertyCodecProviders().isEmpty()) {
            pojoCodecProviderBuilder.register(getPropertyCodecProviders(mongoClientSupport.getPropertyCodecProviders())
                    .toArray(new PropertyCodecProvider[0]));
        }
        CodecRegistry registry = !providers.isEmpty() ? fromRegistries(fromProviders(providers), defaultCodecRegistry,
                fromProviders(pojoCodecProviderBuilder.build()))
                : fromRegistries(defaultCodecRegistry, fromProviders(pojoCodecProviderBuilder.build()));
        settings.codecRegistry(registry);
    }