# File lib/selenium/webdriver/common/wait.rb, line 33
      def until(&blk)
        end_time = Time.now + @timeout
        last_error = nil

        until Time.now > end_time
          begin
            result = yield
            return result if result
          rescue *@ignored => last_error
            # swallowed
          end

          sleep @interval
        end


        if @message
          msg = @message.dup
        else
          msg = "timed out after #{@timeout} seconds"
        end

        msg << " (#{last_error.message})}" if last_error

        raise Error::TimeOutError, msg
      end