Currently it returns a BsonDocument which may not be appropriate and should be generic and convertible to an expected type via a Decoder<T>.
class CommandResult<T> { T getResponse() } class CommandReadOperation<T> { CommandResult<T> execute() ....
Currently it returns a BsonDocument which may not be appropriate and should be generic and convertible to an expected type via a Decoder<T>.
class CommandResult<T> { T getResponse() } class CommandReadOperation<T> { CommandResult<T> execute() ....