We should provide the user a way to set properties that are not primitives to the MongoDBClient.
An example in the documentation would be nice.
As for the why
Our application needs to communicate with MongoDB over SSL. We're planning on deploying in Docker containers and I want our images to be non-environment specific so would like the ability to provide a reference to the SSL certificates when the container is started and for the application to programmatically retrieve the certificates and install them in a trust store. In order to use these certificates for connecting to MongoDB we'd need to use an instance of an SSLSocketFactory which used this specific trust store rather than the default one.