def monitor
      condition = Connection::Monitor::Condition.new
      if defined?(Mock::Connection) && @connection.class == Mock::Connection
        yield condition
      else
        begin
          @connection.__register_lowdown_crash_condition__(condition)
          yield condition
        ensure
          @connection.__deregister_lowdown_crash_condition__(condition)
        end
      end
    end
def monitor
      condition = Connection::Monitor::Condition.new
      if defined?(Mock::Connection) && @connection.class == Mock::Connection
        yield condition
      else
        begin
          @connection.__register_lowdown_crash_condition__(condition)
          yield condition
        ensure
          @connection.__deregister_lowdown_crash_condition__(condition)
        end
      end
    end
Registers a condition object with the connection pool, for the duration of the given block. It either returns an
 exception that caused a connection to die, or whatever value you signal to it.

 This is automatically used by {#group}.

 @yieldparam [Connection::Monitor::Condition] condition
         the monitor condition object.

 @return [void]