def get_session(client, options = {})
      return options[:session].validate!(self) if options[:session]
      if sessions_supported?
        Session.new(@session_pool.checkout, client, { implicit: true }.merge(options))
      end
    end
def get_session(client, options = {})
      return options[:session].validate!(self) if options[:session]
      if sessions_supported?
        Session.new(@session_pool.checkout, client, { implicit: true }.merge(options))
      end
    end
If options[:session] is set, validates that session and returns it.
 If deployment supports sessions, creates a new session and returns it.
 The session is implicit unless options[:implicit] is given.
 If deployment does not support session, returns nil.

 @note This method will return nil if deployment has no data-bearing
   servers at the time of the call.