def get_or_set(key, pool_options={}, &client_block)
      unless @_staged[key]
        @mutex.synchronize do
          @_staged[key] ||= [pool_options,client_block]
        end
      end
      get(key)
    end
def get_or_set(key, pool_options={}, &client_block)
      unless @_staged[key]
        @mutex.synchronize do
          @_staged[key] ||= [pool_options,client_block]
        end
      end
      get(key)
    end
Adds session unless it already exists and returns
 the session