# File lib/mongo/util/pool.rb, line 234
    def checkout_existing_socket(socket=nil)
      if !socket
        available = @sockets - @checked_out
        socket = available[rand(available.length)]
      end

      if socket.pid != Process.pid
        @sockets.delete(socket)
        if socket
          socket.close unless socket.closed?
        end
        checkout_new_socket
      else
        @checked_out << socket
        @thread_ids_to_sockets[Thread.current.object_id] = socket
        socket
      end
    end