docs: public static MongoClient buildMongoDbClient(final BaseMongoDbProperties mongo) {
  
          if (StringUtils.isNotBlank(mongo.getClientUri())) {
              LOGGER.debug("Using MongoDb client URI [{}] to connect to MongoDb instance", mongo.getClientUri());
              return buildMongoDbClient(mongo.getClientUri(), buildMongoDbClientOptions(mongo));
          }
  
          val serverAddresses = mongo.getHost().split(",");
          if (serverAddresses.length == 0) {
              throw new BeanCreationException("Unable to build a MongoDb client without any hosts/servers defined");
          }
  
          List<ServerAddress> servers = new ArrayList<>();
          if (serverAddresses.length > 1) {
              LOGGER.debug("Multiple MongoDb server addresses are defined. Ignoring port [{}], "
                  + "assuming ports are defined as part of the address", mongo.getPort());
              servers = Arrays.stream(serverAddresses)
                  .filter(StringUtils::isNotBlank)
                  .map(ServerAddress::new)
                  .collect(Collectors.toList());
          } else {
              val port = mongo.getPort() > 0 ? mongo.getPort() : DEFAULT_PORT;
              LOGGER.debug("Found single MongoDb server address [{}] using port [{}]", mongo.getHost(), port);
              val addr = new ServerAddress(mongo.getHost(), port);
              servers.add(addr);
          }
  
          val credential = buildMongoCredential(mongo);
          return new MongoClient(servers, CollectionUtils.wrap(credential), buildMongoDbClientOptions(mongo));
      }