# File lib/starfish.rb, line 186
  def   negotiatenegotiatenegotiate
    begin
      @ring_server = RingFinger.primary
    rescue RuntimeError => m
      # allow multiple un-cached calls to RingFinger.finger
      def RingFinger.finger
        @@finger = self.new
        @@finger.lookup_ring_any
        @@finger
      end

      spawn
      @retry_count += 1
      if @retry_count <= 5
        retry
      else
        raise RuntimeError, m
      end
    end
  end